当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《Java,Swing:如何设置JTextField的最大宽度?》经验,为你挑选了1个好方法。

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

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

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

fileNameTextField.setMaximumSize(new java.awt.Dimension(450, 2147483647));

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

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

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



1> davetron5000..:

它可能取决于您的文本字段所在的布局管理器.某些布局管理器会扩展,而有些则不会.有些只在某些情况下扩展,有些则总是扩展.

我假设你在做

filedNameTextField = new JTextField(80); // 80 == columns

如果是这样,对于大多数合理的布局,字段不应该改变大小(至少,它不应该增长).布局经理在投入JScrollPanes 时经常表现不佳.

根据我的经验,试图控制大小通过setMaximumSizesetPreferredWidth等等都是危险的境地.Swing自己决定使用布局管理器,你几乎无能为力.

所有这一切,我没有遇到你遇到的问题,这让我相信一些明智的布局管理器的使用将解决问题.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有