Java Swing:BorderLayout中的SpringLayout

开发人员3310

我的GridLayout出现问题,即JTextField扩展为适合条目的长度超过了初始大小。另一个有这个问题的发贴人说,SpringLayout是最简单的解决方案,所以这就是我正在尝试的方法。但是我在使该面板显示时遇到了问题。

我在顶部,底部,左侧和右侧面板中分别设置了不同的布局,这些布局在顶级面板(此框架中唯一的一个面板)中设置。我正在尝试的SpringLayout放在右侧面板中(作为topPanel.add(springPanel,BorderLayout.EAST-添加到顶部面板中,这是我在此面板为GridLayout时的方式)。抱歉,我是此布局的新手,并且仅将其用于JTextFields的固定宽度。

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)似乎都可以固定长度,因此离开该面板的焦点不再导致尺寸改变。谢谢!

开发人员3310

@Andrew Thompson的答案有效-使用col arg指定列数(任何数字似乎都可以)。谢谢!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java Swing:BorderLayout中的SpringLayout

来自分类Dev

ImageLabel未在BorderLayout.NORTH中显示-Java Swing

来自分类Dev

BorderLayout中的Java Swing JList动态调整大小

来自分类Dev

Java Swing - 使用 BorderLayout 将 JLabel 居中

来自分类Dev

使用BorderLayout在Java中填充角落

来自分类Dev

Java Swing 中的 GridBagLayout

来自分类Dev

Java Swing BorderLayout使一个区域不可调整大小

来自分类Dev

Java中的Swing DJnative Swing示例

来自分类Dev

重用Java中的swing组件

来自分类Dev

重用Java中的swing组件

来自分类Dev

Java Swing中的图像定位

来自分类Dev

Java Swing Progam中的错误

来自分类Dev

在Java Swing中定位对象

来自分类Dev

Swing GUI问题与BorderLayout

来自分类Dev

在Java Swing中的JEditorPane中添加HTML

来自分类Dev

在Java Swing中重置微调器值

来自分类Dev

Java Swing中的损坏(缓存?)字体

来自分类Dev

Java Swing中的EventQueue.invokeLater

来自分类Dev

无法在Java Swing中调整JPanel的大小

来自分类Dev

在Swing Java中从DateTime添加或减去

来自分类Dev

在JTextFIeld中隐藏/显示密码(Java Swing)

来自分类Dev

在Java Swing中显示运动图像

来自分类Dev

Java Paint未在Swing中绘制

来自分类Dev

如何在Java Swing中重叠面板?

来自分类Dev

表标题未显示在Java Swing中

来自分类Dev

在Java Swing中实现MVC的Controller部分

来自分类Dev

Java Swing-检测文档中的更改

来自分类Dev

Web中的Java Swing应用程序

来自分类Dev

Java swing中依赖比例的JSpinners