当 JTextField 已满时,它显示文本右对齐
When JTextField is full it shows text right-aligned
我有一个 JTextField,我在其中显示日期,但日期比字段大一点,它显示的信息如下,向右移动:
我希望显示的日期向左移动:
我一直在尝试
dateField.setHorizontalAlignment(JTextField.LEFT);
dateField.setHorizontalAlignment(SwingConstants.LEFT);
没有任何效果。始终显示相同的结果。
您能否向我们展示您实际将 Date
对象(我假设)的值设置到该字段的代码?这似乎更像是日期的格式问题,而不是 UI 的实际问题。尝试如下设置 SimpleDateFormat 以格式化您的日期返回的字符串,然后再将其设置为字段上的值。
Date yourDate = ...;
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
dateField.setValue(formatter.format(yourDate));
尝试:
textField.setText(...);
textField.setCaretPosition(0);
这应该将插入符号放在开头,以便所有文本都左对齐。
或者您将文本字段放大。当您创建文本字段时,您使用的代码如下:
textField = new JTextField(19);
这将使文本字段足够大以容纳 19 个“W”字符。
您甚至应该使用文本字段吗?如果您只想显示日期,请使用 JLabel。
我有一个 JTextField,我在其中显示日期,但日期比字段大一点,它显示的信息如下,向右移动:
我希望显示的日期向左移动:
我一直在尝试
dateField.setHorizontalAlignment(JTextField.LEFT);
dateField.setHorizontalAlignment(SwingConstants.LEFT);
没有任何效果。始终显示相同的结果。
您能否向我们展示您实际将 Date
对象(我假设)的值设置到该字段的代码?这似乎更像是日期的格式问题,而不是 UI 的实际问题。尝试如下设置 SimpleDateFormat 以格式化您的日期返回的字符串,然后再将其设置为字段上的值。
Date yourDate = ...;
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
dateField.setValue(formatter.format(yourDate));
尝试:
textField.setText(...);
textField.setCaretPosition(0);
这应该将插入符号放在开头,以便所有文本都左对齐。
或者您将文本字段放大。当您创建文本字段时,您使用的代码如下:
textField = new JTextField(19);
这将使文本字段足够大以容纳 19 个“W”字符。
您甚至应该使用文本字段吗?如果您只想显示日期,请使用 JLabel。