首页 > 解决方案 > 如何将外部 keylistener 类调用到项目文本字段中?

问题描述

我想在java中创建一个GUI。我想创建一个库来添加一些侦听器或事件,并且这个类将在需要时调用到另一个项目中的实例 jTextField 但它不会被触发。

#1。类监听器

 public class jTEXTFIELDLISTENER implements KeyListener, FocusListener{

@Override
public void keyTyped(KeyEvent ke) {
    JOptionPane.showMessageDialog(null, "keytyped");
}

@Override
public void keyPressed(KeyEvent ke) {
    
    if(ke.getKeyCode() == KeyEvent.VK_ENTER){
        JOptionPane.showMessageDialog(null, "keyPressed");
     }
}

@Override
public void keyReleased(KeyEvent ke) {
    JOptionPane.showMessageDialog(null, "keyReleased");
}

@Override
public void focusGained(FocusEvent fe) {
    
}

@Override
public void focusLost(FocusEvent fe) {
    JOptionPane.showMessageDialog(null, "focusLost");
} 
}

#2。我构建了这个 Lib 并调用了新项目。

 public void run() {
     new NewJFrame().setVisible(true);
     NewJFrame f = new NewJFrame();
     f.start();
 }

  private void start() {
    text.addKeyListener(new jTEXTFIELDLISTENER());
}

无论如何,这段代码不能触发。谁能帮我处理这个问题?我试图在线研究多个链接,但它们都在主框架内被称为侦听器,但我的方式需要创建一个外部类。

拜托,有人建议我。

预先感谢。

标签: java

解决方案


@Progman 你是对的。

删除 NewJFrame() 的一个实例对我有用。

      public void run() {
            NewJFrame f = new  NewJFrame();
            f.start();
            f.setVisible(true);
        }

非常感谢。


推荐阅读