我在java swing中創建了一個應用程序,
現在我遇到的問題是,
我想最小化我的jframe,當它停用,然後最大化我想激活該窗口。
如何激活和停用java中的框架?
所以爲了最大化,我想激活任何使用java代碼的jframe。
那麼如何激活和停用任何jframe,以便我可以在窗口監聽器上做些什麼?
在此先感謝。
我在java swing中創建了一個應用程序,
現在我遇到的問題是,
我想最小化我的jframe,當它停用,然後最大化我想激活該窗口。
如何激活和停用java中的框架?
所以爲了最大化,我想激活任何使用java代碼的jframe。
那麼如何激活和停用任何jframe,以便我可以在窗口監聽器上做些什麼?
在此先感謝。
以下工作:
import java.awt.Frame;
import javax.swing.*;
public class FrameTest {
public static void main(String[] args) throws InterruptedException {
// Create a test frame
JFrame frame = new JFrame("Hello");
frame.add(new JLabel("Minimize demo"));
frame.pack();
// Show the frame
frame.setVisible(true);
// Sleep for 5 seconds, then minimize
Thread.sleep(5000);
frame.setState(Frame.ICONIFIED);
// Sleep for 5 seconds, then restore
Thread.sleep(5000);
frame.setState(Frame.NORMAL);
// Sleep for 5 seconds, then kill window
Thread.sleep(5000);
frame.setVisible(false);
frame.dispose();
// Terminate test
System.exit(0);
}
}
從http://www.javacoffeebreak.com/faq/faq0055.html
修改爲重點,你可以做frame.requestFocus();
窗口。
你需要一個的WindowListener添加到JFrame,然後下面的邏輯添加到您的聽衆:
public class Demo extends JFrame implements WindowListener {
public Demo() {
addWindowListener(this);
}
public void windowActivated(WindowEvent e) {
setExtendedState(getExtendedState() | Frame.ICONIFIED);
}
public void windowDeactivated(WindowEvent e) {
setExtendedState(getExtendedState() | Frame.MAXIMIZED_BOTH);
}
....
}
你的意思是被禁用/激活?已失去焦點/獲得重點? – 2010-05-27 07:59:22
現在再次閱讀您的問題,我不太確定自己完全明白您要做什麼。請重新說明你的問題。 – kamasheto 2010-05-27 08:09:55
這裏我想要關注任何幀,所以只要我獲得焦點,那麼該幀將處於活動模式。 – Nitz 2010-05-27 08:20:37