Java JTextArea在调整JFrame的大小时具有奇怪的行为
我在Swing应用程序中使用了一些Java JTextArea在调整JFrame的大小时具有奇怪的行为,java,user-interface,swing,Java,User Interface,Swing,我在Swing应用程序中使用了一些JTextArea。使用GridBagLayout管理器将包围的JScrollPane添加到JPanel // Pseudo Code ---- JTextArea area = new JTextArea(); area.setRows(3); JScrollPane sp = new JScrollPane(area); JPanel p = new JPanel(new GridBagLayout()); p.add(sp, new GridBagC
JTextArea
。使用GridBagLayout
管理器将包围的JScrollPane
添加到JPanel
// Pseudo Code ----
JTextArea area = new JTextArea();
area.setRows(3);
JScrollPane sp = new JScrollPane(area);
JPanel p = new JPanel(new GridBagLayout());
p.add(sp, new GridBagConstraints(
0, 0, 1, 1, 1, 0, WEST, HORIZONTAL, new Insets(4, 4, 4, 4), 0, 0));
// ----------------
一切正常。在我调整JFrame
的大小之前,没有任何问题。然后两个JTextArea
将折叠为一行。然而,至少有一个地方可以容纳他们
为什么元素会折叠为一行?有人知道解决办法吗?有人有想法吗?我相信这是因为您将权重设置为0(GridBagConstraints构造函数的第6个参数)。如果希望组件垂直增长,则需要增加该值 我认为这是因为您将权重设置为0(GridBagConstraints构造函数的第6个参数)。如果希望组件垂直增长,则需要增加该值 还要确保在滚动窗格上设置了“首选大小”属性。当未设置此属性时,调整框架和面板的大小时,我会有奇怪的行为(窗格/字段折叠/消失) 还要确保在滚动窗格上设置了“首选大小”属性。当未设置此属性时,调整框架和面板的大小时,我会有奇怪的行为(窗格/字段折叠/消失) 如果我在元素周围使用
边框布局
,它会起作用。皮特,威格斯先生,谢谢你的帮助 如果我在元素周围使用
边框布局
,它会起作用。皮特,威格斯先生,谢谢你的帮助 我最近遇到了一个类似的问题,我有两个jtextarea,它们具有不同的GridBagConstraint.weighty值,并且都设置为GridBagConstraint.fill=both。当我更改JTextAreas中的文本时,它们会更改大小(如果设置了权重和填充值,我预计不会发生这种情况)。奇怪的是,我所要做的就是设置一个相对于JTexAreas周围的JScrollPanes的首选大小。首选大小维度可以是任意大小,因为“fill=tware”导致首选大小被忽略,但它做了一些神奇的事情来解决我的问题。最近我遇到了一个类似的问题,我有两个jtextarea具有不同的GridBagConstraint.weighty值,并且都设置为GridBagConstraint.fill=tware。当我更改JTextAreas中的文本时,它们会更改大小(如果设置了权重和填充值,我预计不会发生这种情况)。奇怪的是,我所要做的就是设置一个相对于JTexAreas周围的JScrollPanes的首选大小。首选尺寸可以是任何尺寸,因为“fill=BOTH”导致首选尺寸被忽略,但它做了一些神奇的事情来解决我的问题。BOTH?我只能在你的代码中找到一个…是的。我只是给这篇文章举了个例子。这不是我真正的代码。它可能不相关,我应该删除它。两者都是吗?我只能在你的代码中找到一个…是的。我只是给这篇文章举了个例子。这不是我真正的代码。它可能无关紧要,我应该删除它。