如何像设置JTextField一样设置JFormattedTextField的大小?
如何像JTextField一样设置JFormattedTextField的大小?
当然可以,JFormattedTextField继承自JTextField,完全能用和JTextField一致的方式设置大小——调用setColumns(int)方法即可,效果和你用new JTextField(20)的逻辑完全相同。
具体实现方式:
针对你给出的代码,直接追加一行设置列数的代码就搞定了:
JFormattedTextField textField = new JFormattedTextField(new DecimalFormat("###,###")); textField.setColumns(20); // 和JTextField(20)的显示宽度效果一致
如果想更贴近JTextField的构造器写法,也可以这么写:
JFormattedTextField textField = new JFormattedTextField(); textField.setFormatterFactory(new DefaultFormatterFactory(new DecimalFormat("###,###"))); textField.setColumns(20);
补充说明:
setColumns(int)的作用是设置组件的首选列数,布局管理器会基于这个值计算合适的宽度,和JTextField构造器传入的数字逻辑一致。要是需要更精准的尺寸控制,也可以用setPreferredSize(new Dimension(宽度值, 高度值)),但设置列数是最贴合你使用习惯的方式。
内容的提问来源于stack exchange,提问作者Hugeine
相关产品推荐
相关产品推荐

