我在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) {
}
}
很抱歉,如果我不清楚的话。
答案 0 :(得分:1)
我认为你需要一个KeyListener,而不是一个ActionListener。
也许是这样的:
textarea.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_SPACE) {
//do your stuff here
}
}
}
答案 1 :(得分:0)
您无法使用ActionListener
执行此任务,因为Swing文本组件不会响应(大多数)击键而触发ActionEvent
。有关如何实现您的目标的信息,请参阅the key binding docs,但也许a refresher on Swing overall可能会有所帮助。