我正在用Java制作一个简单的文本编辑器,以便编写程序。我一直在制作一个ActionListener
,每当进入空间时就会激活它。
所以,当你在文本区输入并按空格键时,它会读取你输入的最后一个单词。
以下是我的代码的重要部分。
我做了一个动作监听器和所有其他东西,现在我只需要让它读空间。
JTextArea textarea = new JTextArea("@ECHO off" + "n");
Font textareaFont = new Font("Arial", Font.BOLD, 15);
action event = new action();
textarea.setFont(textareaFont);
textarea.setForeground(Color.BLUE);
textarea.setLineWrap(true);
textframe.getContentPane().add(new JScrollPane(textarea));
textframe.setSize(525,715);
textframe.setLocationRelativeTo(null);
textframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textframe.setVisible(true);
}
private class action implements ActionListener {
public void actionPerformed(ActionEvent event) {
}
}
如果我不清楚,我很抱歉。
我想您想要的是KeyListener,而不是ActionListener。
也许是这样的:
textarea.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_SPACE) {
//do your stuff here
}
}
}
您不能使用ActionListener
执行此操作,因为Swing文本组件不会在(大多数)击键时激发ActionEvent
。有关如何实现目标的信息,请参阅密钥绑定文档,但也许可以复习一下Swing的整体知识。