首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java : SpringLayout在BorderLayout中

Java : SpringLayout在BorderLayout中
EN

Stack Overflow用户
提问于 2014-12-28 05:01:24
回答 1查看 559关注 0票数 1

我的GridLayout遇到了问题,因为JTextField的宽度比初始大小更长。另一张关于这个问题的海报被告知SpringLayout是最简单的解决方案,所以这就是我正在尝试的。然而,我有问题,让这个面板,甚至显示。

我有顶部、底部、左边和右边的面板,每个面板都有不同的布局,设置在顶层面板中(这是这个框架中唯一的一个)。我正在尝试的这个SpringLayout是在正确的面板中(添加到顶部的面板为topPanel.add(springPanel,BorderLayout.EAST ),这是我在这个面板是GridLayout时所做的)。下面的代码是以SpringLayout Oracle教程为模型的。对不起,我是这个布局的新手,我只使用它来为JTextFields使用固定宽度。

代码语言:javascript
复制
JPanel testPanel = new JPanel();
SpringLayout layout = new SpringLayout();
testPanel.setLayout(layout);
JLabel label = new JLabel("First field: ");
JTextField field = new JTextField("enter text");

testPanel.add(label);
testPanel.add(field);

layout.putConstraint(SpringLayout.WEST, label, 5, SpringLayout.WEST, testPanel);
layout.putConstraint(SpringLayout.NORTH, label, 5, SpringLayout.NORTH, testPanel);
layout.putConstraint(SpringLayout.WEST, field, 5, SpringLayout.EAST, label);
layout.putConstraint(SpringLayout.NORTH, field, 5, SpringLayout.NORTH, testPanel);

...

topPanel.add(testPanel, BorderLayout.EAST);

如有任何指导,将不胜感激。谢谢。

编辑:添加cols参数似乎不起作用,但我会继续尝试。GridBagLayout也存在同样的问题。选项卡到下一个字段并不会重新调整前一个字段的大小,但是单击框架中其他区域的字段会导致它扩展包含文本的长度,这正是我需要避免的。我没有足够的代表来发布我正在做的事情的图片,

EDIT2:添加cols是有效的--我在某个时候尝试过。不完全确定它是如何工作的,但是任何值(经过测试的1、10、15 )似乎都能固定长度,因此离开面板的焦点不再会导致大小的改变。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-06 12:25:30

@的答案奏效了--使用col指定列的#(任何数字似乎都有效)。谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27673806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档