PDA

View Full Version : [Java] SpringLayout e JScrollPane


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);

LarsSalazar
27-07-2012, 12:04
Ok risolto, il putConstraint una volta commentato non ho avuto problemi e mi visualizza il tutto correttamente.
Ma non ho capito perchè con il putConstraint va in stackOverFlow... il non sapere non mi piace.
Qualcuno ne sa il motivo?