Java Swing 快速入门

Java Swing 快速入门

一、Java Swing 简单介绍

1、Java Swing 介绍


Swing 是一个为Java设计的GUI工具包。(Swing是一个用于开发Java应用程序用户界面的开发工具包。)


Swing是JAVA基础类的一部分。


Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。


Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

2、Java Swing 使用步骤

(1)导入Swing包
(2)选择界面风格
(3)设置顶层容器
(4)设置按钮和标签
(5)将组件放到容器上
(6)为组件增加边框
(7)处理事件
(8)辅助技术支持



导入
下面语句导入Swing包

import javax.swing.*;

大部分Swing程序用到了AWT的基础底层结构和事件模型,因此需要导入两个包:

import java.awt.*;
import java.awt.event.*;

如果图形界面中包括了事件处理,那么还需要导入事件处理包:

import javax.swing.event.*;


选择界面风格
Swing允许选择程序的图形界面风格常用的有java风格,windows风格等。
下面的代码用于选择图形界面风格,这里选择的是跨平台的Java界面风格。

try {
    
     
     
  UIManager.setLookAndFeel(
    UIManager.getCrossPlatformLookAndFeelClassName()
  ); 
} catch (Exception e) {
    
     
      }


设置顶层容器
图形界面至少要有一个顶级Swing容器。
顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持。
常用的顶级容器:
JFrame(框架):表示主程序窗口
JDialog(对话框):每个JDialog对象表示一个对话框,对话框属于二级窗口
JApplet(小程序):在浏览器内显示一个小程序界面
一个框架包括边界、菜单栏、工具栏、状态栏,以及中间占主要部分的窗格
窗格也可以看作是一种面板,但它是框架的一个组成部分
组件不会直接放到框架上,而是放在若干个面板上,这些面板再放到窗格上
用框架对象的getContentPane()函数来获得窗格,再调用窗格的add()函数放置面板

public static void main(String[ ]args){
    
     
     
  JFrame frame=new JFrame("SwingApplication");
  JPanel panel1=new JPanel();
  frame.getContentPane().add(panel1,BorderLayout.CENTER);
  ......//


添加组件

  frame.pack();
  frame.setVisible(true);
}

3、Java Swing 组件

在这里插入图片描述

在这里插入图片描述

二、Java Swing 使用案例

(一)Java Swing 简单使用案例

1、Hello World 程序

HelloWorldSwing.java

import javax.swing.*;

/**
 * 一、Hello World 程序
 * 
 * @author: shipleyleo
 * @create: 2023-05-25 14:51:41
 */
public class HelloWorldSwing {
   
    
    

    private static void createAndShowGUI() {
   
    
    
        JFrame.setDefaultLookAndFeelDecorated(true);
        // 创建及设置窗口
        JFrame frame = new JFrame("HelloWorldSwing");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 添加标签
        JLabel label = new JLabel("Hello World");
        frame.getContentPane().add(label);
        // 显示窗口
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
   
    
    
        // 显示应用 GUI
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
   
    
    
            @Override
            public void run() {
   
    
    
                createAndShowGUI();
            }
        });
    }
}

编译运行后的结果,如下图所示:
在这里插入图片描述

2、一个用户登录框实例

SwingLoginExample.java

import javax.swing.*;

/**
 * 二、一个用户登录框实例
 *
 * @author: shipleyleo
 * @create: 2023-05-25 15:08:33
 */
public class SwingLoginExample {
   
    
    

    public static void main(String[]

猜你喜欢

转载自blog.csdn.net/Shipley_Leo/article/details/130866972