2010-10-01 8 views

Antwort

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 

http://download.oracle.com/javase/6/docs/api/javax/swing/JScrollPane.html oder http://download.oracle.com/javase/tutorial/uiswing/components/scrollpane.html für weitere Details über JScrollPane Siehe

+0

große antwort danke! –

6

Platz der JTextArea innerhalb eines JScrollPane, und legen Sie, dass in den JPanel mit mit einem Layout, das die Größe fixiert. Ein Beispiel mit einem GridBagLayout, könnte zum Beispiel so aussehen:

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

Dies ist nur eine grobe Skizze, aber es sollte zeigen, wie es zu tun.

+0

Fast hat dies nicht abgestimmt, weil GridBagLayout für solch ein einfaches Bedürfnis verwendet wird. –

+3

Verwenden Sie niemals GridBagLayout! Noch nie! –

+2

Durch einen langen und kompletten Ärger mit jedem anderen Layout-Manager in Swing verwende ich jetzt fast ausschließlich GridBagLayout. Das ist eher ein Artefakt meiner persönlichen Geschichte als eine Empfehlung. Bitte verwenden Sie den Layout-Manager, der Ihren Anforderungen entspricht. In diesem Fall denke ich, dass die genaue Spezifikation der Gewichte explizit zeigt, dass der Bildlaufbereich alle Änderungen in der Größe absorbiert. Aber es lohnt sich nicht, einen komplexen Layout-Manager für ein einfaches Layout zu verwenden. – Zoe