如何在java swing中禁用文本字段的大小调整?
我有一个 GUI,它基于使用 BorderLayout 的 Swing 的 JPanel。在北面板中,我添加了一个新的 JPanel,它使用 FlowLayout 并包含两个 textField 和其他组件。 当我更改文本字段的文本并且使该面板内的某些组件不可见时,该文本字段不断调整大小。我怎样才能避免这种情况?我希望文本字段无论发生什么情况都保持相同的大小。我尝试过 setSize、setPreferredSize、setMinimumSize 但没有成功。
txtSource = new WebTextField(source);
txtSource.setMaximumSize(new Dimension(30,20));
txtSource.setMinimumSize(new Dimension(20, 20));
txtSource.setEditable(false);
txtDestination = new WebTextField(destination);
txtDestination.setMaximumSize(new Dimension(30,20));
txtDestination.setMinimumSize(new Dimension(20, 20));
之前:
之后:
I have a GUI, which is based on Swing's JPanelthat uses BorderLayout.In the north panel i have added a new JPanel which uses FlowLayout and contains two textField and other components.
When I change the text of textField and invisible some componets inside this panel, this textField keeps resizing. How can I avoid this? I would like the textField to keep the same size whatever happens. I've tried setSize, setPreferredSize, setMinimumSize with no success.
txtSource = new WebTextField(source);
txtSource.setMaximumSize(new Dimension(30,20));
txtSource.setMinimumSize(new Dimension(20, 20));
txtSource.setEditable(false);
txtDestination = new WebTextField(destination);
txtDestination.setMaximumSize(new Dimension(30,20));
txtDestination.setMinimumSize(new Dimension(20, 20));
before:
after:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
此示例显示大小恒定的文本字段。您可以添加一个 SSCCE 的代码吗?
This example shows text fields at a constant size. Can you add an SSCCE of code that does not?
你不能像你想要的那样做到这一点,一些
LayoutManagers
会忽略setXxxSize
,但你可以使用接受的 fe
BoxLayout
setXxxSizeyou can't do this like what you want, some
LayoutManagers
ignore forsetXxxSize
, but you can use f.e.BoxLayout
that accepts forsetXxxSize