首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java,Swing:如何设置JTextField的最大宽度?

Java,Swing:如何设置JTextField的最大宽度?
EN

Stack Overflow用户
提问于 2018-10-23 00:44:25
回答 2查看 0关注 0票数 0

我正在编写自定义文件选择组件。在我的UI中,首先用户点击一个按钮,弹出一个按钮JFileChooser; 当它关闭时,所选文件的绝对路径被写入a JTextField

问题是,绝对路径通常很长,导致文本字段放大,使其容器太宽。

我试过这个,但它没有做任何事情,文本字段仍然太宽:

代码语言:javascript
复制
fileNameTextField.setMaximumSize(new java.awt.Dimension(450, 2147483647));

目前,当它是空的时,它已经是400px长,因为GridBagConstraints附着它。

我希望它像HTML页面中的文本字段一样,它具有固定的大小,并且在输入太长时不会放大。

那么,如何设置最大尺寸JTextField

EN

回答 2

Stack Overflow用户

发布于 2018-10-23 09:21:30

不要在文本字段中设置任何大小。而是通过setColumns或使用带有column参数的构造函数将列大小设置为非零值。

发生的事情是,当列为零时,JTextComponent报告的首选大小是呈现文本所需的全部空间量。当列设置为非零值时,首选大小是显示许多标准列宽的所需大小。(对于可变间距字体,它通常接近小写字母“m”的大小)。将列设置为零时,文本字段请求尽可能多的空间并扩展整个容器。

由于您已经在带填充的GridBagLayout中使用了它,因此您可以将列设置为1并让填充根据其他组件或其他适当的低数量将其拉伸。

票数 0
EN

Stack Overflow用户

发布于 2018-10-23 10:41:12

通过使用设置文本字段容器的最大宽度来解决这个问题setMaximumSize

根据davetron的回答,这是一个脆弱的解决方案,因为布局经理可能会忽视该属性。就我而言,容器是最顶层的,并且在第一次测试中它起作用。

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

https://stackoverflow.com/questions/-100000872

复制
相关文章

相似问题

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