代碼如下:
import java.awt.event.WindowEvent;
import java.awt.event.WindowStateListener;
import javax.swing.JFrame;
public class WinFrame extends JFrame {
public WinFrame(){
this.setName("Window 窗口狀態");
this.setSize(300,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.addWindowStateListener(new WindowStateListener () {
public void windowStateChanged(WindowEvent state) {
if(state.getNewState() == 1 || state.getNewState() == 7) {
System.out.println("窗口最小化");
}else if(state.getNewState() == 0) {
System.out.println("窗口恢復到初始狀態");
}else if(state.getNewState() == 6) {
System.out.println("窗口最大化");
}
}
});
this.setVisible(true);
}
public static void main(String[] args) {
new WinFrame();
}
}
另外一個利用JFrame創建窗體的小例子
利用JFrame創建的窗口分別包含一個標題、最小化按鈕、最大化按鈕和關閉按鈕
代碼如下:
public class Test(){
public static void main(String[] args){
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JTextArea textArea = new JTextArea();
panel.setLayout(new GridLayout());
textArea.setText("test");
//當TextArea裡的內容過長時生成滾動條
panel.add(new JScrollPane(textArea));
frame.add(panel);
frame.setSize(200,200);
frame.setVisible(true);
}
}