读取从JTextArea输入的最后一个字符

时间:2014-08-28 15:13:21

标签: java swing jtextarea key-bindings

我在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) {

    }
}

很抱歉,如果我不清楚的话。

2 个答案:

答案 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可能会有所帮助。