在Java中是否有办法将JTextField的位置设置为文本的开头?

时间:2014-10-15 23:47:16

标签: java swing jtextfield

private JTextField textField = new JTextField();
textField.setText("10000000000");

如果JTextField很小,我的是哪个,它会显示最后这么多字符。在这种情况下,这将是" 00000"如果给定文本字段的区域,则只能显示五个字符。我想按一个单独的JTextField时,我想自动将位置设置为JButton的开头。所以,在这种情况下,我希望" 10000"显示。

我有一个多个JTextFields和一个JButton的列表,对它们进行计算并查找总数,然后将该总数打印在另一个JTextField中,您只看到如果你没有意识到它显示文本的结尾而不是从头开始显示,那么总的最后一部分可能会让人感到困惑。

我浏览了所有" .set***"方法,并没有看到任何选项来做到这一点。

1 个答案:

答案 0 :(得分:4)

查看JTextField#setCaretPosition

textField.setCaretPosition(0);

您还可以使用...

突出显示文字
textField.setCaretPosition(textField.getText().length());
textField.moveCaretPosition(0);

但是JTextField#selectAll会更简单......

根据您的需要,您还可以“建议”字段应显示的首选列数,例如......

private JTextField textField = new JTextField(15);

textField.setColumns(15);

这将鼓励一些布局管理人员根据字段需求确保字段大小适合更合适的大小