Ciao a tutti,
dopo aver realizzato un JPanel utilizzato per un intero software di configurazione mi sono reso conto che era necessario inserire la funzione di scroll..per questo ho aggiunto un jscrollpane però purtroppo non scrolla. Avevo pensato che il motivo potrebbe essere che il JscrollPane si ridimensiona automaticamente come il Jpanel ma settando le dimensioni del JScrollPane con setPreferredSize non è cambiato nulla.Cosa sbaglio??
Grazie in anticipo per l'aiuto..Di seguito il codice:
private JPanel createTitlePanel() {
CMASLabel lblTitle = new CMASLabel(panelProperties.getProperty("Title"), 1, 21, SwingConstants.CENTER, new Rectangle(0, 0, 350, 25));
JPanel panelTitle = new JPanel();
panelTitle.setLayout(new BorderLayout());
panelTitle.setMinimumSize(new Dimension(100, 30));
panelTitle.setPreferredSize(new Dimension(100, 30));
panelTitle.add(lblTitle, BorderLayout.CENTER);
return panelTitle;
}
protected JPanel createDetailPanel() {
JPanel detailPanel = new JPanel();
detailPanel.setLayout(new BorderLayout());
return detailPanel;
}
public void jbInit() {
JPanel panelData = new JPanel();
panelData.setLayout(new BorderLayout());
JScrollPane sp = new JScrollPane(panelData);
sp.setVerticalScrollBarPolicy(sp.VERTICAL_SCROLLBA R_ALWAYS);
sp.setHorizontalScrollBarPolicy(sp.HORIZONTAL_SCRO LLBAR_AS_NEEDED);
sp.setPreferredSize(new Dimension(100,100));
if (!panelProperties.getProperty("Title").trim().equa ls(""))
panelData.add(createTitlePanel(), BorderLayout.NORTH);
panelData.add(createDetailPanel(), BorderLayout.CENTER);
this.setLayout(new BorderLayout());
this.setBackground(Color.lightGray);
this.setForeground(Color.lightGray);
this.add(panelButton, BorderLayout.NORTH);
this.add(sp, BorderLayout.CENTER);
}