我正在创建一个打字程序,用户在其中键入一系列字符,但必须这样做而不会出现任何错误。在输入时,用户可以退格一个单词,但退格选项在按空格键时会结束(转到新单词)。
这是我目前的代码:
public synchronized void backSpace(){
if (ttext.length() > 0) {
ttext = ttext.substring(0, ttext.length() - 1);
} else {
typetext.append(" ");
}
}
我正在寻找的方法是禁用退格功能,以便用户无法再编辑他们输入的内容。
答案 0 :(得分:1)
您希望使用Key Bindings删除默认的退格操作。例如:
textField.getInputMap().put(KeyStroke.getKeyStroke("BACK_SPACE"), "none");
答案 1 :(得分:-2)
假设你使用的是Swing,你可以这样做:
import java.awt.event.*;
import javax.swing.*;
public class BackspaceCapture extends JDialog {
public BackspaceCapture() {
JTextField textField = new JTextField("A text field");
textField.getKeymap().addActionForKeyStroke(
KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, 0), new AbstractAction() {
public void actionPerformed(ActionEvent e) {
backSpace();
}
});
add(textField);
pack();
}
public void backSpace() {
System.out.println("Backspace is pressed");
}
public static void main(String args[]) {
JDialog dialog = new BackspaceCapture();
dialog.setVisible(true);
}
}
但是,由于存在很多编辑文本字段的方法,因此可能需要查看javax.swing.event.DocumentListener来控制文本。