java - 在 Applet 中未接收焦点或窗口事件

标签 java applet windowlistener focuslistener

我有一个 Java Applet(使用 JApplet 类),并且我试图在激活 Applet 窗口时获取事件。我尝试实现 WindowListener 和 FocusListener,但没有收到任何事件。我需要做什么才能确定小程序窗口是否已获得焦点?

这是我的测试代码:

public class AppletTest extends JApplet implements WindowListener, FocusListener {
    public void init() { 
//        addWindowListener(this); // Won't compile
        addFocusListener(this);
    }
    public void actionPerformed(ActionEvent event){
        Object source = event.getSource();
        String command = event.getActionCommand();
    }

    @Override
    public void focusGained(FocusEvent e) {
        System.out.println("focusGained");
    }
    @Override
    public void focusLost(FocusEvent e) {}

    @Override
    public void windowActivated(WindowEvent e) {
        System.out.println("windowActivated");
    }
    // Stub methods 
    @Override
    public void windowOpened(WindowEvent e) {}
    @Override
    public void windowClosing(WindowEvent e) {}
    @Override
    public void windowClosed(WindowEvent e) {}
    @Override
    public void windowIconified(WindowEvent e) {}
    @Override
    public void windowDeiconified(WindowEvent e) {}
    @Override
    public void windowDeactivated(WindowEvent e) {}
}

最佳答案

添加: setFocusable(true);

init 方法应该可以解决您的问题。

关于java - 在 Applet 中未接收焦点或窗口事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39923643/

相关文章:

applet - Java Applet 在 Internet Explorer 中仅加载一次(在第一个窗口中)

java - 如何检查两个简单的二维数组是否具有相同的一维数组? (顺序和重复并不重要)

java - 如何设置一个值以便我可以在每个方法中访问?

java - Apache FOP 小程序错误未知函数 : gatherContextInfo

Java - 如何访问打包在 applet jar 中的图像

java - 当我覆盖该函数时,WindowListener 不起作用

java - 集群环境下的Log4j

java - 如何生成可以插入面板的表格?

java - 在单独的框架类中实现窗口监听器

java - JAVA类中的窗口监听器和 Action 监听器