LarsSalazar
27-07-2012, 11:54
Sto cercando di creare un pannello per la generazione di modelli di articolo.
In pratica ci sarà un campo dove l'utente aggiunge il prodotto e poi sceglierà il numero di specifiche che quel tipo di prodotto avrà.
Sto avendo problemi per la popolazione del JScrollPane ottengo un errore di stackoverflow ma non ne capisco il motivo. Vi posterò il codice che mi genera l'eccezione, oltre al frame in cui voglio fare questa sostituzione.
Modello elemento è un pannello con all'interno una JLabel ed un JTextField
http://i308.photobucket.com/albums/kk323/blumoon1982/PannelloAddTemplate.png
Integer NSPEC;
int numSpec, i;
NSPEC = (Integer) jSpinnerNSpec.getValue();
numSpec = NSPEC.intValue();
this.jPanelMidPanelSpec.setVisible(false);
this.jPanelAreaSpecifiche.remove(jPanelMidPanelSpec);
/////Ottenuti il numero di specifiche da aggiungere caricare nel pannello
///// label e text field con tag chiave valore
SpringLayout layout = new SpringLayout();
JPanel interno = new JPanel(layout);
for(i=0; i<numSpec;i++){
ModelloElemento elemento1 = new ModelloElemento();
elemento1.setTextLabel("Chiave");
elemento1.setTextField("");
interno.add(elemento1);
ModelloElemento elemento2 = new ModelloElemento();
elemento2.setTextLabel("Valore");
elemento2.setTextLabel("");
interno.add(elemento2);
}
SpringUtilities.makeCompactGrid(interno, //parent
numSpec*2, 1,
2, 2, //initX, initY
2, 2); //xPad, yPad
JScrollPane contenitore = new JScrollPane(interno);
contenitore.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
layout.putConstraint(SpringLayout.NORTH, interno, 0, SpringLayout.NORTH, contenitore);
layout.putConstraint(SpringLayout.EAST, interno, 0, SpringLayout.EAST, contenitore);
layout.putConstraint(SpringLayout.SOUTH, interno, 0, SpringLayout.SOUTH, contenitore);
layout.putConstraint(SpringLayout.WEST, interno, 0, SpringLayout.WEST, contenitore);
jPanelAreaSpecifiche.add(contenitore, BorderLayout.CENTER);
In pratica ci sarà un campo dove l'utente aggiunge il prodotto e poi sceglierà il numero di specifiche che quel tipo di prodotto avrà.
Sto avendo problemi per la popolazione del JScrollPane ottengo un errore di stackoverflow ma non ne capisco il motivo. Vi posterò il codice che mi genera l'eccezione, oltre al frame in cui voglio fare questa sostituzione.
Modello elemento è un pannello con all'interno una JLabel ed un JTextField
http://i308.photobucket.com/albums/kk323/blumoon1982/PannelloAddTemplate.png
Integer NSPEC;
int numSpec, i;
NSPEC = (Integer) jSpinnerNSpec.getValue();
numSpec = NSPEC.intValue();
this.jPanelMidPanelSpec.setVisible(false);
this.jPanelAreaSpecifiche.remove(jPanelMidPanelSpec);
/////Ottenuti il numero di specifiche da aggiungere caricare nel pannello
///// label e text field con tag chiave valore
SpringLayout layout = new SpringLayout();
JPanel interno = new JPanel(layout);
for(i=0; i<numSpec;i++){
ModelloElemento elemento1 = new ModelloElemento();
elemento1.setTextLabel("Chiave");
elemento1.setTextField("");
interno.add(elemento1);
ModelloElemento elemento2 = new ModelloElemento();
elemento2.setTextLabel("Valore");
elemento2.setTextLabel("");
interno.add(elemento2);
}
SpringUtilities.makeCompactGrid(interno, //parent
numSpec*2, 1,
2, 2, //initX, initY
2, 2); //xPad, yPad
JScrollPane contenitore = new JScrollPane(interno);
contenitore.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
layout.putConstraint(SpringLayout.NORTH, interno, 0, SpringLayout.NORTH, contenitore);
layout.putConstraint(SpringLayout.EAST, interno, 0, SpringLayout.EAST, contenitore);
layout.putConstraint(SpringLayout.SOUTH, interno, 0, SpringLayout.SOUTH, contenitore);
layout.putConstraint(SpringLayout.WEST, interno, 0, SpringLayout.WEST, contenitore);
jPanelAreaSpecifiche.add(contenitore, BorderLayout.CENTER);