我应该使用哪个Java文本组件来调整大小以适应调整大小的框架?

问题描述:

我有一个JTabbedPane和一个JTextArea,我希望Textareas/Panes调整窗口大小以适应窗口大小。我该怎么做呢?我也很模糊,如果它是正确的文本组件使用。我应该使用哪个Java文本组件来调整大小以适应调整大小的框架?

真的被困住了。

编辑:我设置显式大小为一个愚蠢的哑巴。我已经完成了所有工作。我所做的是将JScrollPane的视口设置为JTextArea,并删除所有明确的大小。

谢谢!

您可以使用任何您喜欢的组件。所有JComponents都可以使用调整大小的父容器调整大小。你只需要选择正确的LayoutManager

根据您想要的一切设置,我想你会想你的JTabbedPane的添加到您的JFrame像这样:

JTabbedPane jtp; 
JFrame frame; 
// JFrame's default layour is border layout. 
frame.add(jtp, BorderLayout.CENTER); 

这将导致JTabbed窗格为占用所有的空间JFrame

您还需要将您的JTabbedPane的布局管理器设置为BorderLayout,并添加到JTabbedPane的任何标签都需要有一个BorderLayout

要设置组件的布局,这样做:

JComponent anyComponent; 
anyComponent.setLayout(new BorderLayout()); 

看一看的Java LayoutManager tutorials以获取更多信息。

我应该提到,我建议BorderLayout的原因是因为任何添加到BorderLayout的CENTER的组件都会自动占用任何边界不占用的空间。而且,由于您没有向其他任何边界(NORTH,SOUTH,EAST,WEST)添加任何内容,因此中心的组件将占据整个空间。

每个JComponent都会在其所在容器调整大小时自动调整大小。

这不是一个正确的组件问题,但更多的是使用哪个LayoutManager。 将组件添加到容器时,可以设置最小大小,默认大小和最大大小。

在调整容器大小时,组件将自动缩放,直到达到所需的最大大小。

如果您需要代码片段,请告诉我,稍后我会启动我的IDE。

欢呼

编辑:jjnguy打我吧..然后NVM:P

+2

这是不是100%正确。 – jjnguy 2010-11-15 15:42:09