java开发gui教程之jframe监听窗体大小变化事件和jframe创建窗体
本文导语: 代码如下: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...
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);
}
}