2010-10-01 27 views

risposta

18
JPanel panel = new JPanel(); 
panel.setLayout(new BorderLayout()); //give your JPanel a BorderLayout 

JTextArea text = new JTextArea(); 
JScrollPane scroll = new JScrollPane(text); //place the JTextArea in a scroll pane 
panel.add(scroll, BorderLayout.CENTER); //add the JScrollPane to the panel 
// CENTER will use up all available space 

Vedi http://download.oracle.com/javase/6/docs/api/javax/swing/JScrollPane.html o http://download.oracle.com/javase/tutorial/uiswing/components/scrollpane.html per maggiori dettagli su JScrollPane

+0

ottima risposta, grazie! –

6

Posizionare il JTextArea interno di un JScrollPane, e posto che nella JPanel con con un layout che consente di risolvere le dimensioni. Un esempio con un GridBagLayout, per esempio, potrebbe essere la seguente:

JPanel panel = new JPanel(); 
panel.setLayout(new GridBagLayout()); 

JScrollPane scrollpane = new JScrollPane(); 
GridBagConstraints cons = new GridBagContraints(); 
cons.weightx = 1.0; 
cons.weighty = 1.0; 
panel.add(scrollPane, cons); 

JTextArea textArea = new JTextArea(); 
scrollPane.add(textArea); 

Questo è solo un abbozzo, ma dovrebbe illustrare come farlo.

+0

Quasi non ha votato in anticipo a causa dell'uso di GridBagLayout per una necessità così semplice. –

+3

Non utilizzare mai GridBagLayout! Mai! –

+2

Attraverso un lungo e completo fastidio con tutti gli altri gestori di layout in Swing, ora utilizzo quasi esclusivamente GridBagLayout. Questo è un artefatto della mia storia personale, piuttosto che una raccomandazione. Si prega di utilizzare qualsiasi gestore di layout adatto alle proprie esigenze. In questo caso, penso che la specifica esatta dei pesi mostri esplicitamente che il riquadro di scorrimento assorbe tutte le variazioni di dimensione. Ma certamente non vale la pena utilizzare un gestore di layout complesso per un layout semplice. – Zoe

Problemi correlati