在Java中,使用Swing库来创建图形用户界面(GUI)是非常常见的。下面我将提供一个简单的教程,包括如何使用JFrame来创建窗体,并监听窗体大小变化的事件。
### 1. 创建JFrame窗体
首先,你需要创建一个继承自JFrame的类,并在这个类中设置窗体的一些基本属性,如大小、关闭操作等。
import javax.swing.JFrame;
public class MyFrame extends JFrame {
public MyFrame() {
// 设置窗体标题
setTitle("JFrame示例");
// 设置窗体关闭操作,EXIT_ON_CLOSE表示窗体关闭时退出程序
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗体初始大小
setSize(400, 300);
// 设置窗体居中显示
setLocationRelativeTo(null);
// 这里可以添加其他组件
}
public static void main(String[] args) {
// 在事件调度线程中创建和显示窗体
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
MyFrame frame = new MyFrame();
frame.setVisible(true); // 显示窗体
}
});
}
}
### 2. 监听窗体大小变化事件
要监听JFrame的大小变化事件,你需要给JFrame添加一个`ComponentListener`,并重写`componentResized`方法。
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
// ...(MyFrame类中的其他部分保持不变)
public class MyFrame extends JFrame {
// ...(MyFrame的构造函数和其他方法)
// 添加一个ComponentListener来监听窗体大小变化
public MyFrame() {
// ...(之前的代码)
addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
// 当窗体大小变化时,这个方法会被调用
System.out.println("窗体大小已变化: 宽度 = " + getWidth() + ", 高度 = " + getHeight());
}
});
}
// ...(main方法和其他部分)
}
这样,每当用户调整窗体大小时,控制台就会输出当前窗体的宽度和高度。
以上就是一个简单的Java Swing GUI教程,关于如何使用JFrame创建窗体并监听窗体大小变化的事件。希望这能帮助到你!