我有一个 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/