Swing程序结构

简介: 图形用户界面主要是由窗口以及窗口中的组件构成的,编写Swing程序主要就是创建窗口和添加组件过 程。Swing中的窗口主要是使用JFrame。JFrame有标题、边框、菜单、大小和窗口 管理按钮等窗口要素。

图形用户界面主要是由窗口以及窗口中的组件构成的,编写Swing程序主要就是创建窗口和添加组件过 程。Swing中的窗口主要是使用JFrame。JFrame有标题、边框、菜单、大小和窗口 管理按钮等窗口要素。

构建Swing程序主要有两种方式:创建JFrame或继承JFrame。


一、创建JFrame方式


创建JFrame方式就是直接实例化JFrame对象,然后设置JFrame属性,添加窗口所需要的组件。

代码如下:

import javax.swing.*;
import java.awt.*;
/**
 * @author : 蔡政洁
 * @email :caizhengjie888@icloud.com
 * @date : 2020/2/22
 * @time : 11:36 下午
 */
public class SwingDome1 {
    public static void main(String[] args) {
//        创建窗口对象
        JFrame jFrame = new JFrame("MyFrame");
//        创建标签
        JLabel label = new JLabel("Hello Swing");
//        获得窗口的内容板面
        Container container = jFrame.getContentPane();
//        添加标签到内容板面
        container.add(label);
//        设置窗口大小
        jFrame.setSize(300,300);
        jFrame.setVisible(true);
    }
}

默认情况下JFrame是没有大小且不可见的,因此创建JFrame对象后还需要设置大小和可 见,注意 设置JFrame窗口大小和可见这两条语句,应该在添加完成所有组件之后调用。否则 在多个组件情况下,会导致有些组件没有显示。


创建步骤:创建窗口—— 获得窗口的内容面板或菜单栏—— 创建组件——将创建的组件添加到内容面板 ——设置窗口大小和组件


在Swing中添加到JFrame上的所有可见组件,除菜单栏外,全部添加到内容面板上, 而不要直接添加到JFrame上,这是Swing绘制系统所要求的。


图解JFrame的内容面板

几乎所有的图形用户界面技术,在构建界面时都采用层级结构(树形结构)

23.png

根是顶级容器(只能包含其他容器的容器),子容器有内容面板和菜单栏(本 例中没有菜单),然后其他的组件添加到内容面板容器中。所有的组件都有add()方法通 过,通过调用add()方法将其他组件添加到容器中,作为当前容器的子组件。


二、继承JFrame方式


继承JFrame方式就是编写一个继承JFrame的子类,在构造方法中初始化窗口,添加窗口所需要 的组件。

代码如下:

import javax.swing.*;
import java.awt.*;
/**
 * @author : 蔡政洁
 * @email :caizhengjie888@icloud.com
 * @date : 2020/2/22
 * @time : 11:45 下午
 */
public class MyFrame extends JFrame {
    public MyFrame(String title){
        super(title);
//        创建标签
        JLabel label = new JLabel("Hello World");
//        获得窗口内容板面
        Container container = getContentPane();
//        添加标签到内容板面
        container.add(label);
//        设置窗口大小
        setSize(300,300);
        setVisible(true);
    }
}
//调用代码
class HelloWorld{
    public static void main(String[] args) {
//        创建MyFrame对象
        MyFrame myFrame = new MyFrame("MyFrame");
    }
}

以上两种方式运行效果完全一样

运行结果:

25.png创建JFrame方式适合于小项目,代码量少、窗口不多、组件少的情况。继承JFrame 方式,适合于大项目,可以针对不同界面自定义一个Frame类,属性可以在构造方法中进行 设置;缺点是有很多类文件需要有效地管理。


相关文章
|
4月前
|
Java Windows
基于java Swing编写扫雷游戏设计实现(已调试)
基于java Swing编写扫雷游戏设计实现(已调试)
52 1
|
4月前
|
前端开发 Java UED
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
|
Java 容器
Swing程序设计(3)JDialog窗体
Swing程序设计(3)JDialog窗体
124 0
|
5月前
|
前端开发 Java 程序员
【JAVA】<GUI编程>AWT & Swing 图形化编程库
【1月更文挑战第19天】【JAVA】<GUI编程>AWT & Swing 图形化编程库
|
5月前
|
Java
Java Swing猜英文单词游戏(java+面向对象编程+swing+awt+io流)
Java Swing猜英文单词游戏(java+面向对象编程+swing+awt+io流)
|
5月前
|
算法 Java 开发工具
Java Swing五子棋项目
Java Swing五子棋项目
|
数据可视化 Java 数据安全/隐私保护
Swing程序设计(1)概述及常用组件
Swing程序设计(1)概述及常用组件
227 0
|
数据可视化 Java 容器
Swing程序设计(2)JFrame窗体
Swing程序设计(2)JFrame窗体
129 0
|
Java 索引 容器
Java图形化:Swing表格的使用
利用JTable类直接创建表格 创建表格: 在JTable类中除了默认的构造方法之外,还提供了利用指定表格列名数组和表格数据数组创建表格的构造方法,如下: JTable(Object[][] rowData,Object[] columnNames) rowData就是表格的数据数组 columnNames就是表格的列名数组。
1684 0
|
Java 容器
Swing图形用户界面编程之布局管理
Java SE提供了7种布局管理器包括:FlowLayout、BorderLayout、GridLayout、BoxLayout、 CardLayout、SpringLayout和GridBagLayout,其中最基础的是FlowLayout、BorderLayout和GridLayout 布局管理器。下面主要了解这三个布局。
Swing图形用户界面编程之布局管理