Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTextArea在调整JFrame的大小时具有奇怪的行为_Java_User Interface_Swing - Fatal编程技术网

Java JTextArea在调整JFrame的大小时具有奇怪的行为

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

我在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 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?我只能在你的代码中找到一个…是的。我只是给这篇文章举了个例子。这不是我真正的代码。它可能不相关,我应该删除它。两者都是吗?我只能在你的代码中找到一个…是的。我只是给这篇文章举了个例子。这不是我真正的代码。它可能无关紧要,我应该删除它。