SWing 顶级容器
JFrame,JDialog,JApplet,其中JFrame 和 JDialog 是最为常用也是最为简单的顶级容器
JFrame
在Swing 组件中,最常见的一个容器就是JFrame,它是一个独立存在的顶级容器(也叫窗口),不能放置在其他容器中,JFrame支持通用窗口所有的基本功能
基本用法:
import javax.swing.*;
public class Gui {
public static void main(String[]arge)
{
Gui gui = new Gui();
gui.createGui();
}
private void createGui()
{
//创建并设置JFrame 容器窗口
JFrame frame = new JFrame("JFrameTest");
//设置关闭窗口时的默认操作
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗口尺寸
frame.setSize(500,500);
// 展示JFrame容器窗口
frame.setVisible(true);
}
}
JDialog
JDialog是Swing的另一个顶级容器,通常用来表示对话框窗口。JDialog对话框可分为两种:模态对话框和非模态对话框。模态对话框是指需要等到处理完对话框后才能继续与其他窗口交互,而非模态对话框允许用户在处理对话框的同时与其他窗口交互对话框是模态或者非模态,可以在创建JDialog对象时为构造方法传入参数来设置,也可以在创建JDialog对象后调用它的setModal()方法来进行设置,JDialog常用的构造方法如表 8-1 所示
函数 | 说明 |
---|---|
JDialog(Frame owner) | 用来创建一个非模式的对话框,owner为对话框所有者(顶级窗口JFrame) |
JDialog(Frame owner,title) | 构造方法,创建一个具有指定标题的非模态对话框 |
JDialog(Frame owner,boolean modal) | 创建一个有指定模式的无标题对话框 |
第三个构造方法中,参数modal用来指定JDialog窗口是模态还是非模态,如果modal值设置为true,对话框就是模态对话框,反之则是非模态对话框如果不设置modal的值,其默认值为false,也就是非模态对话框
e.g:
import javax.swing.*;
public class Gui {
public static void main(String[]arge)
{
Gui gui = new Gui();
gui.createGui();
}
private void createGui()
{
//创建并设置JFrame 容器窗口
JFrame frame = new JFrame("JFrameTest");
//设置关闭窗口时的默认操作
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗口尺寸
frame.setSize(500,500);
// 展示JFrame容器窗口
frame.setVisible(true);
//在JFrame 容器窗口基础上创建并设置JDialog容器窗口
JDialog dialog = new JDialog(frame,"123");
dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
dialog.setSize(100,100);
dialog.setVisible(true);
System.out.print("123");
}
}