我在applet中创建了一个JWindow来显示更新过程,并将其所有者设置为applet父类。我的问题是,JWindow在浏览器的所有选项卡中都可见,而不仅仅是包含我的applet的选项卡。是否可以添加一个侦听器来知道我的applet何时可见?
applet在显示时似乎被添加到系统框架中,因此您可以使用WindowListener。我在JApplet的init()方法中添加了以下代码:
Window window = SwingUtilities.windowForComponent(this);
window.addWindowListener( new WindowAdapter()
{
@Override
public void windowActivated(WindowEvent e)
{
displayWindow.setVisible( true );
}
@Override
public void windowDeactivated(WindowEvent e)
{
displayWindow.setVisible( false );
}
});
我不怎么玩applet,但我认为这就是start()
和stop()
方法的作用。您可以在start()中显示窗口,并在stop()中隐藏窗口。