体验GUI
import javax.swing.JFrame; import javax.swing.JOptionPane; public class Demo { public static void main(String[] args) { // 创建JFrame JFrame frame = new JFrame("hello,world"); // 设置尺寸 frame.setSize(200, 100); // JFrame在屏幕居中 frame.setLocationRelativeTo(null); // JFrame关闭时的操作 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 显示JFrame frame.setVisible(true); } }
Jframe框架
JFrame(框架)是一个容器
创建一个用户界面需要创建一个JFrame来存放用户界面组件.例如存放按钮,文本框。
javax.swing
类 JFrame
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
创建一个框架
public class Demo1 { public static void main(String[] args) { // 创建JFrame JFrame frame = new JFrame("我的frame"); // 显示JFrame frame.setVisible(true); } }
注意:需要调用setVisible(true)方法后才会显示框架
运行程序会在窗口的左上角显示一个窗口,但是只能显示标题栏,而且关闭JFrame时,程序程序没有停止.
所以需要完成如下需求:
1: 设置Jframe的宽度和高度
2: 让Jframe显示在屏幕中间
3: 关闭Jframe时,程序会停止
设置JFrame的宽度和高度
java.awt.Window.setSize(int width, int height)
查找API文档,查看 setSize方法,可以指定框架的宽度和高度.参数类型是int,注意是以像素为单位,普通的笔记本的屏幕分辨率为1280*800或者1366*768.注意:分辨率表示每平方英寸的像素数.屏幕分辨率越高,屏幕的像素越多.所以分辨率越高看到的细节就越多.
setSize方法被定义在java.awt.Component类中,被Component 的子类java.awt.Window 重写.而Jframe以继承了Windiws类所以也具备该方法.
JFrame显示在屏幕中间
setLocationRelativeTo()方法
java.awt.Window.setLocationRelativeTo(Component c) 设置窗口相对于指定组件的位置。 如果 c 为 null,则此窗口将置于屏幕的中央。
setLocationRelativeTo(null)方法可以在屏幕上居中显示框架.
如果不想要设置在中间,可以使用
setLocation(200, 100);
关闭JFrame程序停止
setDefaultCloseOperation(int operation)方法
javax.swing.JFrame.setDefaultCloseOperation(int operation)
该方法告诉程序,当框架关闭时结束程序.方法的参数是JFrame 的常量EXIT_ON_CLOSE
添加完毕
public class Demo1 { public static void main(String[] args) { // 创建JFrame JFrame frame = new JFrame("我的frame"); // 设置尺寸 frame.setSize(200, 100); // JFrame在屏幕居中 frame.setLocationRelativeTo(null); // JFrame关闭时的操作 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 显示JFrame frame.setVisible(true); } }
框架中添加组件
上述案例中的框架是空的.可以通过add方法在框架中添加组件
java.awt.Container.add(Component comp)
代码:
public static void main(String[] args) { // 创建JFrame JFrame frame = new JFrame("我的frame"); // 创建按钮 JButton button = new JButton("OK"); // 向frame中添加一个按钮 frame.add(button); // 设置尺寸 frame.setSize(200, 100); // JFrame在屏幕居中 frame.setLocationRelativeTo(null); // JFrame关闭时的操作 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 显示JFrame frame.setVisible(true); }
运行程序,会显示上图所示窗口.调整窗口的大小,按钮都是显示在窗口的中央,并且占满整个框架.这是因为组件(本例就是按钮)是被布局管理器放到框架中的.默认布局管理器就是将按钮放到中央.
备注: 可以通过f.setVisible(false); 隐藏窗体f.dispose();关闭窗口
设置图片:
setIconImage(Toolkit.getDefaultToolkit().createImage("png-0015.png"));