JTextField的“列”宽度是多少?

时间:2016-08-22 17:18:37

标签: java jtextfield swingx

根据JTextField文档,您可以设置“列”中描述的字段的宽度,但无法找到“列”的定义。

此外,做这样的事情:

new JTextField("abc", 3);

使用字符串abc填充宽度的文本字段,然后是额外的空格。

有人可以澄清JTextField构造函数中使用的列的定义吗?

2 个答案:

答案 0 :(得分:1)

JTextField的columns属性用于确定对象的首选宽度。如果在示例new JTextField("abc", 3);中提供了初始String,则绘制该字段以匹配文本大小。否则,列允许在JTextField本身内并行堆叠文本。因此,在示例中"abc"之后获得空格的原因是因为它默认将字符串放在第一列中,然后是两列空格。

答案 1 :(得分:1)

如果您使用的是标准JTextField,则列会将组件的首选宽度指定为getColumnWidth()的倍数。

方法getColumnWidth()定义每列的宽度(以像素为单位)。文档说明:“默认情况下,这被定义为所用字体的字符'm'的宽度。”

如果布局管理器修改了文本字段,则文本字段可能会以不同的大小显示。