Keyboard KeyListener不';不行,我的Jframe无法识别我的键盘
我不知道为什么我的应用程序无法检测到我的键盘。 应用程序是实现SerialPortEventListener和KeyListener的JFrame。 在我的应用程序的Jframe中,我有一个带有两个面板的选项卡式窗格。 当我按下一些按钮时,它不工作(输出中没有任何内容) 我将向您展示我的代码(不是全部,只是最重要的部分): 我的班级: 我的按键功能: 我的类的构造函数: 主要Keyboard KeyListener不';不行,我的Jframe无法识别我的键盘,keyboard,jframe,keylistener,jtabbedpane,Keyboard,Jframe,Keylistener,Jtabbedpane,我不知道为什么我的应用程序无法检测到我的键盘。 应用程序是实现SerialPortEventListener和KeyListener的JFrame。 在我的应用程序的Jframe中,我有一个带有两个面板的选项卡式窗格。 当我按下一些按钮时,它不工作(输出中没有任何内容) 我将向您展示我的代码(不是全部,只是最重要的部分): 我的班级: 我的按键功能: 我的类的构造函数: 主要 KeyListener仅在其注册的组件可聚焦且具有焦点时才会响应,因为单击按钮将导致焦点转移到按钮,因此帧将不再具有输入
KeyListener
仅在其注册的组件可聚焦且具有焦点时才会响应,因为单击按钮将导致焦点转移到按钮,因此帧将不再具有输入焦点
框架也不太可能直接接收键盘焦点
作为一般的经验法则,您应该改为使用,这将为您提供超越焦点相关问题的能力
根据您所做的,您还可以考虑使用<代码> JTextArea 或<代码> JTraceField>代码> >“代码> > Debug监听器< /Cord>,假设您想通过串行连接发送字符。请查看以了解更多详细信息
public class java_arduino_frame extends javax.swing.JFrame implements SerialPortEventListener, KeyListener {
public void keyTyped(KeyEvent e){
throw new UnsupportedOperationException("not yet");
}
public void keyPressed(KeyEvent e){
int keyCode;
keyCode = e.getKeyCode();
System.out.println(keyCode);
}
public void keyReleased(KeyEvent e){
throw new UnsupportedOperationException("not yet");
}
public java_arduino_frame() {
getContentPane().setBackground( Color.LIGHT_GRAY );
initComponents();
addKeyListener(this);
}
public static void main(String args[]) {
strong text
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new java_arduino_frame().setVisible(true);
}
});