一、概述
GUI:Graphical User Interface,即图形用户接口。
Java中针对GUI设计提供了一些基础的图形用户接口开发工具。例如:AWT、Swing和JavaFX。
AWT已经被Swing取代。
Swing:底层以AWT为基础,Swing组件为用户提供了许多的基础类库。
Swing组件的所有类都继承自Container类,容器分支(Window窗口和Panel面板)和组件分支。
容器分支:就是为了实现图形用户界面的设计。
组件分支:为了实现向容器中填充数据、元素等功能。
二、Swing顶级容器
1.JFrame
一个独立存在的容器,窗口,不能放在其他容器之中。支持通用窗口所有的基本功能。
import javax.swing.*;
public class Example01{
private static void createAndShowGUI(){
//创建并设置JFrame容器窗口
JFrame frame=new JFrame("JFrameTest");
//设置关闭窗口时的默认值
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗口尺寸
frame.setSize(250,150);
frame.setVisible(true);
}
public static void main(String[] args){
//使用SwingUtilities工具类调用 createAndShowGUI()方法显示GUI程序
SwingUtilities.invokeLater(Example01::createAndShowGUI);
}
}
结果显示:
2.JDialog
JDialog是Swing的另一个顶级容器,通常用来表示对话框窗口。
JDialog对话框可分为模态对话框(指用户需要等到处理完对话框以后才能继续与其它窗口交互)和非模拟对话框(允许用户在处理对话框的同时与其它窗口交互)。
JDialog常用构造方法
方法声明 功能
JDialog(Frame owner) 用来创建一个非模态的对话框,owner为对话框所有者 (顶 级 窗口JFrame)
JDialog(Frame owner,String title) 创建一个具有指定标题的非模态对话框
JDialog(Frame owner,boolean modal) 创建一个有指定模式的无标题对话框
modal用来指定JDialog窗口是模态还是非模态,值为true模态,false非模态
import javax.swing.JDialog;
import javax.swing.JFrame;
public class Example02 {
private static void createAndShowGUI() {
//创建并设置JFrame容器窗口
JFrame frame=new JFrame("JFrameTest");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(350,150);
frame.setVisible(true);
//在JFrame容器窗口基础上创建并设置JDialog容器窗口
JDialog dialog=new JDialog(frame,"JDialog对话框",true);
dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
dialog.setSize(200,100);
dialog.setVisible(true);
}
public static void main(String[] args) {
new Example02().createAndShowGUI();
}
}
结果显示