我应该使用哪个Java文本组件来调整它的大小以适应调整大小后的框架?
我有一个JTabbedPane和一个JTextArea,我想在调整窗口大小时调整Textareas/窗格的大小以适应窗口。我该怎么做?我也不清楚它是否是正确的文本组件 真糊涂 编辑:我将显式大小设置为哑。我已经全部解决了。我所做的是将JScrollPane的视口设置为JTextArea,并删除所有显式大小调整我应该使用哪个Java文本组件来调整它的大小以适应调整大小后的框架?,java,swing,text,resize,Java,Swing,Text,Resize,我有一个JTabbedPane和一个JTextArea,我想在调整窗口大小时调整Textareas/窗格的大小以适应窗口。我该怎么做?我也不清楚它是否是正确的文本组件 真糊涂 编辑:我将显式大小设置为哑。我已经全部解决了。我所做的是将JScrollPane的视口设置为JTextArea,并删除所有显式大小调整 谢谢伙计们 您可以使用任何您喜欢的组件。所有JComponents都可以通过调整父容器的大小来调整大小。您只需选择正确的LayoutManager 根据您希望所有设置的方式,我假设您希望将
谢谢伙计们 您可以使用任何您喜欢的组件。所有
JComponents
都可以通过调整父容器的大小来调整大小。您只需选择正确的LayoutManager
根据您希望所有设置的方式,我假设您希望将JTabbedPane添加到JFrame
中,如下所示:
JTabbedPane jtp;
JFrame frame;
// JFrame's default layour is border layout.
frame.add(jtp, BorderLayout.CENTER);
这将导致jtabed
窗格占用JFrame
的所有空间
您还需要将JTabbedPane
的布局管理器设置为BorderLayout
,并且添加到JTabbedPane的任何选项卡都需要有BorderLayout
要设置组件的布局,请执行以下操作:
JComponent anyComponent;
anyComponent.setLayout(new BorderLayout());
有关更多信息,请查看
我应该提到,我建议使用
BorderLayout
的原因是,添加到BorderLayout的中心的任何组件将自动占用任何边框未占用的空间。而且,由于您没有向任何其他边界(北、南、东、西)添加任何内容,因此中间的组件将占据整个空间。每个JComponent都会在其所在的容器调整大小时自动调整大小
这不是正确的组件的问题,而是使用哪个LayoutManager的问题。
将组件添加到容器时,可以设置最小大小、默认大小和最大大小
调整容器大小时,组件将自动缩放,直到达到所需的最大大小
如果您需要代码片段,请告诉我,稍后我将启动IDE
干杯
编辑:jjnguy打败了我。。nvm:p