gpt4 book ai didi

java - 当 JDialog 上有 JTextArea 时,如何使按键事件在 JDialog 上工作?

转载 作者:行者123 更新时间:2023-12-01 11:55:32 26 4
gpt4 key购买 nike

我基本上创建的是一个 JDialog,它在表单上有一个关键事件。因此,当例如按下空间时,它会做一些事情。在我在同一个对话框上创建一个可编辑的 JTextArea 之前,这种方法工作得很好。当我这样做时,我无法从 JTextArea 中删除焦点并使热键起作用。如何允许按键事件和 JTextArea 在同一个 JDialog 上运行?

最佳答案

您需要做的是将 KeyListenerJDialog 添加到 JTextArea

下面是一个 SSCCE。

import java.awt.event.*;
import javax.swing.*;

public class DialogListener {

public static void main(String[] args) {
JDialog dialog = new JDialog();
dialog.setSize(300, 400);
dialog.setVisible(true);

KeyListener listener = getKeyListener();

dialog.addKeyListener(listener);

JTextArea area = new JTextArea();
area.addKeyListener(listener);

dialog.add(area);
}

public static KeyListener getKeyListener(){
return new KeyAdapter() {
public void keyTyped(KeyEvent e) {
System.out.println(e.getKeyChar());
}
};

}
}

关于java - 当 JDialog 上有 JTextArea 时,如何使按键事件在 JDialog 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28472831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com