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[]