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

Java 读取从JTextArea输入的最后一个字符,java,swing,jtextarea,key-bindings,Java,Swing,Jtextarea,Key Bindings,我正在用Java制作一个简单的文本编辑器,这样我就可以编写程序了。我一直在制作一个ActionListener,每当输入空格时,它就会被激活 因此,当您在文本区域中键入内容并按空格键时,它将读取您键入的最后一个单词 以下是我的代码的基本部分 我已经做了一个动作监听器和所有其他的东西,现在我只需要让它读空格 JTextArea textarea = new JTextArea("@ECHO off" + "\n"); Font textareaFont = new Font("Arial", Fo

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

    }
}

如果我不清楚,很抱歉。

您不能使用
ActionListener
执行此操作,因为Swing text组件不会对(大多数)击键发出
ActionEvent
s响应。有关如何实现您所追求的目标的信息,请咨询,但可能是正确的。

我认为您需要的是一个KeyListener,而不是ActionListener

也许是这样的:

textarea.addKeyListener(new KeyAdapter() {
    public void keyPressed(KeyEvent evt) {

        if (evt.getKeyCode() == KeyEvent.VK_SPACE) {

            //do your stuff here
        }
     }
 }
在谷歌搜索“Java密钥绑定”是可能的