想知道是否可以通过打印来初始化文本字段(这部分我知道该怎么做),但是然后突出显示打印,然后在用户开始输入时消失?即使没有突出显示,如何使用"请输入您的电话号码"之类的字段初始化字段,然后消失,以便用户不必删除文本?
JTextFiled使用一些已知文本初始化实例,例如"请输入您的电话号码"这是一个代码示例
final String INITIAL_TEXT = "Please enter your ph. number";
final JTextField textField = new JTextField(INITIAL_TEXT);
textField.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
if (textField.getText().equals(INITIAL_TEXT)) {
textField.setText("");
}
}
@Override
public void focusLost(FocusEvent e) {
}
});
Run Code Online (Sandbox Code Playgroud)
还有另一种方法,即focusGained事件.只需标记初始文本:
String initialText = "Enter your story here...";
...
jTextArea1.setText(initialText);
...
private void focusGained(java.awt.event.FocusEvent evt) {
if (jTextArea1.getText().equals(initialText)) {
//jTextArea1.setSelectionStart(0);
//jTextArea1.setSelectionEnd(jTextArea1.getText().length());
jTextArea1.selectAll();
}
}
Run Code Online (Sandbox Code Playgroud)
这样,只要用户在jTextArea1中键入内容,就会立即替换初始文本.