根据JTextField
文档,您可以设置“列”中描述的字段的宽度,但无法找到“列”的定义。
此外,做这样的事情:
new JTextField("abc", 3);
使用字符串abc
填充宽度的文本字段,然后是额外的空格。
有人可以澄清JTextField
构造函数中使用的列的定义吗?
答案 0 :(得分:1)
JTextField的columns属性用于确定对象的首选宽度。如果在示例new JTextField("abc", 3);
中提供了初始String,则绘制该字段以匹配文本大小。否则,列允许在JTextField
本身内并行堆叠文本。因此,在示例中"abc"
之后获得空格的原因是因为它默认将字符串放在第一列中,然后是两列空格。
答案 1 :(得分:1)
如果您使用的是标准JTextField
,则列会将组件的首选宽度指定为getColumnWidth()
的倍数。
方法getColumnWidth()
定义每列的宽度(以像素为单位)。文档说明:“默认情况下,这被定义为所用字体的字符'm'的宽度。”
如果布局管理器修改了文本字段,则文本字段可能会以不同的大小显示。