Скрыть JWindow, когда апплет не виден? - PullRequest
2 голосов
/ 12 сентября 2011

Я создаю JWindow в своем апплете, чтобы отобразить процесс обновления, и я устанавливаю владельца для родителя апплета.Моя проблема в том, что JWindow отображается на всех вкладках в моем браузере, а не только на той, что содержит мой апплет.Можно ли добавить слушатель, чтобы узнать, когда мой апплет виден?(А затем скрыть окно JWindow, когда его нет)

Ответы [ 2 ]

1 голос
/ 13 сентября 2011

Апплеты, по-видимому, добавляются в системный фрейм при их отображении, поэтому вы можете использовать WindowListener. Я добавил следующий код в метод init () JApplet:

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 );
    }
});
0 голосов
/ 12 сентября 2011

Я мало играю с апплетами, но думаю, для этого нужны методы start() и stop().Вы бы сделали окно видимым в start () и скрыли бы окно в stop ().

...