
Originariamente inviata da
andbin
Hai "disegnato" il resto della tua interfaccia con un editor "visuale"? (NetBeans?). Se sì, è probabile (non uso NetBeans) che "freedesign" stia a significare l'uso del layout manager GroupLayout di Swing, che è parecchio complesso (se così, guarda allora il codice generato ....).
E in tal caso non solo un layout manager "c'è" ma devi seguire le sue regole, ovvero indicare tutti i constraint (vincoli) necessari per fargli capire come deve stare il componente.
Si ho usato netbeans per disegnare il JPanel, ma ho risolto (grazie ai tuoi suggerimenti) ti posto il codice :
codice:
sidePanel.setLayout(null);
JLabel meseCorrente = new JLabel("Mese Corrente");
JLabel trimestre = new JLabel ("Ultimi 3 Mesi");
JLabel cerca = new JLabel("Cerca per Intervallo Date");
JLabel DataInizio = new JLabel("Data Inizio");
JLabel DataFine = new JLabel("Data Fine");
search.setText("Cerca");
sidePanel.add(meseCorrente);
sidePanel.add(trimestre);
sidePanel.add(cerca);
sidePanel.add(DataIn);
sidePanel.add(DataFin);
sidePanel.add(DataInizio);
sidePanel.add(DataFine);
sidePanel.add(search);
Insets insets = sidePanel.getInsets();
Dimension size = meseCorrente.getPreferredSize();
meseCorrente.setBounds(25 + insets.left, 5 + insets.top,
size.width, size.height);
size = trimestre.getPreferredSize();
trimestre.setBounds(25 + insets.left, 30 + insets.top,
size.width, size.height);
size = cerca.getPreferredSize();
cerca.setBounds(25 + insets.left, 60 + insets.top,
size.width, size.height);
size =DataIn.getPreferredSize();
DataIn.setBounds(25 + insets.left, 90 + insets.top,
size.width, size.height);
size = DataInizio.getPreferredSize();
DataInizio.setBounds(170 + insets.left, 90 + insets.top,
size.width, size.height);
size =DataFin.getPreferredSize();
DataFin.setBounds(25 + insets.left, 130 + insets.top,
size.width, size.height);
size = DataFine.getPreferredSize();
DataFine.setBounds(170 + insets.left, 130 + insets.top,
size.width, size.height);
size = search.getPreferredSize();
search.setBounds(180 + insets.left, 170 + insets.top,
size.width, size.height);
sidePanel.validate();