2011-12-29 16 views
3

我想让我的JTextArea字段与当前JPanel中的JTextArea字段一样大。怎么做?需要与父面板一起增长的JTextArea

现在是这样的:

JPanel statusBar = new StatusBar(project); 
    JTextArea outputBox = new JTextArea(1, 50); 
    outputBox.setEditable(true); 
    statusBar.add(outputBox); 
+2

使用适当的布局管理器,将允许它成长。有关更多信息,请参见[布局管理器](http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)上的Swing教程。另外,您通常会将文本区域添加到滚动窗格。 – camickr 2011-12-29 17:54:11

回答

4

您需要在JPanel的布局管理器。如果它只是在JTextArea中包含在其内,你需要最大限度地发挥它,你可以用一个简单的网格布局:

statusBar.setLayout(new GridLayout(1,1)); 
5

JPanel的默认布局管理器是FlowLayout,这不会让文本区域充满整个可用空间在面板中。

使用BorderLayout应该很好地工作:

statusBar.setLayout(new BorderLayout()); 
JTextArea outputBox = new JTextArea(1, 50); 
outputBox.setEditable(true); 
statusBar.add(outputBox, BorderLayout.CENTER);