对于我使用过的大多数 GUI,当包含文本的控件获得焦点时,控件的全部内容都会被选中。这意味着如果您只是开始键入,您将完全替换以前的内容。
例如:您有一个旋转控件,它初始化为值零。您切换到它并键入“1”,控件中的值现在为1。
但是,Swing 不会发生这种情况。控件中的文本不被选择,插入符号出现在现有文本的一端或另一端。继续上面的例子:
对于 Swing JSpinner,当您切换到旋转控件时,插入符号位于左侧。您键入“1”后,控件中的值现在为10。
这让我(和我的用户)非常不爽,我想改变它。更重要的是,我想全局更改它,使新的行为适用于 JTextField、JPasswordField、JFormattedTextField、JTextArea、JComboBox、JSpinner 等等。目前唯一找到的解决方法是为每个控件添加 FocusAdapter 并覆盖 focusGained() 方法以实现正确的操作。
难道没有更简单、更可靠的方法吗?
例如:您有一个旋转控件,它初始化为值零。您切换到它并键入“1”,控件中的值现在为1。
但是,Swing 不会发生这种情况。控件中的文本不被选择,插入符号出现在现有文本的一端或另一端。继续上面的例子:
对于 Swing JSpinner,当您切换到旋转控件时,插入符号位于左侧。您键入“1”后,控件中的值现在为10。
这让我(和我的用户)非常不爽,我想改变它。更重要的是,我想全局更改它,使新的行为适用于 JTextField、JPasswordField、JFormattedTextField、JTextArea、JComboBox、JSpinner 等等。目前唯一找到的解决方法是为每个控件添加 FocusAdapter 并覆盖 focusGained() 方法以实现正确的操作。
难道没有更简单、更可靠的方法吗?