java - JTextArea 转移焦点

标签 java swing focus jtextarea keylistener

当用户点击选项卡时,我试图将焦点从一个 JTextArea 转移到另一个 JTextArea。 目前我正在使用此代码:

public void keyTyped(KeyEvent e) {                  
        if(e.getKeyChar() == KeyEvent.VK_TAB){
            enterTextArea.transferFocus();
        }               
}

这似乎有效 - 焦点移动并且您在下一个 JTextArea 中键入 - 但实际上文本仍然被附加到第一个 TextArea,这意味着在第二个 TextArea 上执行 getText() 仅返回 "".

如何使键入的文本转到第二个 JTextArea 而不是仅仅附加到第一个 JTextArea?

编辑:经进一步检查,此行为是由单独的错误引起的。不需要进一步的帮助。

最佳答案

您可以通过在第一个文本上使用 getText 将文本从 1 传输到 2。

public void keyTyped(KeyEvent e) {                  
    if(e.getKeyChar() == KeyEvent.VK_TAB){
        enterTextArea.transferFocus();
        String firstField = textField1.getText();
        secondField.setText(firstField);
    }               
}

这样它将从第一个文本区域保存,并将其放入第二个文本区域。

希望这有帮助!

关于java - JTextArea 转移焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17975718/

相关文章:

java - 单击 JTabbedPane 选项卡时捕获事件(在实际状态更改之前)

java - 我想逐行显示 JTextArea 中的元素。如何实现这一目标?

Java hangman 程序出错了

Mac 上的 Java : How do I detect when my application receives focus?

forms - 确保例程运行时表单不会获得焦点

Java:在抽象类中创建获取扩展类名称的方法

java - Play Framework 2.5 - 在 Controller 中生成 html 代码时使用 "@"(html.apply)

javascript - 在 Vue SPA 页面上重置焦点

java - 如何使用此代码显示我的二维数组?

java - 如何创建一个接受字符串并返回字符串中第二个字符的函数?