Если вы хотите вернуть его из состояния iconified
, вы можете просто установить его состояние на normal
:
JFrame frame = new JFrame(...);
// Show the frame
frame.setVisible(true);
// Sleep for 5 seconds, then minimize
Thread.sleep(5000);
frame.setState(java.awt.Frame.ICONIFIED);
// Sleep for 5 seconds, then restore
Thread.sleep(5000);
frame.setState(java.awt.Frame.NORMAL);
Пример из здесь .
Есть также WindowEvent
s , которые срабатывают при каждом изменении состояния, и интерфейс WindowListener
, который обрабатывает эти триггеры. В этом случае вы можете использовать:
public class YourClass implements WindowListener {
...
public void windowDeiconified(WindowEvent e) {
// Do something when the window is restored
}
}
Если вы хотите проверить изменение состояния другой программы, решения для «чистой Java» не существует, а просто требуется получить ID
окна.