Java Swing简介

560 阅读6分钟

Java Swing简介

Java Swing是Java基础类的一部分。它被用来创建基于窗口的应用程序,这使得它适合开发轻量级的桌面应用程序。

Java Swing是建立在纯粹用Java编程语言编写的抽象窗口工具包API之上的。

Java Swing提供了轻量级和与平台无关的组件,使得它适合于设计和开发基于桌面的应用程序(系统),并且效率很高。

先决条件

要完成这篇文章,你需要具备以下条件。

  • 安装了NetBeans
  • 安装了JDK
  • Java编程语言的基本知识

Java Swing和Java AWT的区别

Java Swing和Java抽象窗口工具包(AWT)都是用来设计使用Java的图形用户界面的。

然而,它们之间的差异会使一个比另一个更适合;这取决于人们想要实现的目标。

其中的一些区别是。

  • Java AWT有一组函数和程序,创建的应用程序可以访问操作系统的功能或信息,其他应用程序,甚至服务。Java AWT是一个开发Java图形用户界面的应用编程接口(API)。另一方面,Java Swing是由Java基础类形成的,使其适合于创建独立的应用程序。
  • Java AWT组件很重,因为它们与操作系统互动。另一方面,Java Swing的组件是轻量级的,功能强大,因此与Java AWT相比有更多的功能。
  • 与Java AWT相比,在Java Swing中完成的应用程序更快、更有效。与AWT相比,Swing的执行时间更短。
  • Java AWT是一个API框架,这使得它依赖于平台,因为其组件依赖于平台。另一方面,Swing组件不依赖于平台。因此,Swing是独立于平台的。

桌面应用程序(GUI)的常见Swing组件

正如前面所讨论的,Swing被用于创建基于窗口的应用程序。Swing组件包含在javax.swing 包中。

Java Swing组件是设计、开发和实现一个应用程序的基本构建模块。这些组件构成了Java编程语言的Swing图形用户界面小工具。

在NetBeans IDE中,组件可以在调色板下找到。Java Swing组件为应用程序提供了一种交互式体验。

在这篇文章中,我们将看看桌面应用开发中常用的几个Swing组件。

这些组件包括

  • JFrame
  • JLabel
  • JTextField
  • JB按钮

其他包括。JPanel,JComboBox,JRadioButton,JCheckBox,JTable,JList,JFileChose,JTextArea,ImageIcon

JFrame

JFrame 是Java Swing组件层次结构中的第一个组件。它可以通过两种方式被创建。

  1. 通过创建一个Frame类的对象。也就是通过关联创建。

例子。

import javax.swing.JFrame;
public class Main {
	public static void main(String[] args) {
            JFrame sectionFrame = new JFrame();
            sectionFrame.setSize(600, 600); // 600 width & 600 height
            sectionFrame.setLayout(null); // no layout managers
            sectionFrame.setVisible(true); // frame visible
	}
}
  1. 通过扩展Frame类。也就是通过类的继承进行OOP创建。

例子。

import javax.swing.JFrame;
public class sectionHomeWindow extends JFrame {
    /**
     * Creates new form sectionHomeWindow
     */
    public sectionHomeWindow() {

    }
}

JLabel

JLabel 是一个在Swing容器用户界面上显示可读文本或图像的组件。应用程序用户不能编辑在 中呈现的文本。JLabel

然而,应用程序本身,通过动作事件,可以改变文本。JLabel 组件可以同时显示纯文本和HTML文本。

例子。

JLabel labelName = new JLabel("Name");

JLabel

JTextField

JTextField 是一个允许用户输入一行文本的 swing 组件。 继承自 库的 类。JTextField javax.swing JTextComponent

例子。

JTextField sectionTextField = new JTextField(20);

JTextField

为了使JTextField 能够被访问和编辑,enable 属性必须被设置为true。JTextField 可以通过调用JTextField 构造函数和传递一个整数类型的参数来初始化。

构造函数中传递的整数参数并不限制用户可以在文本字段中键入的字符数。然而,它设置了文本字段框的宽度;即分配给它的列数。

JB按钮

JButton 是swing组件之一,它使swing具有平台独立性的特性。这个组件在应用程序的用户界面上创建一个点击效果。它在一个应用程序中通过调用其任何一个类的构造函数来实现。

点击或双击它可以从数据库中获取数据并在用户界面上显示出来,或者在用户界面上收集用户的数据并将其存储/保存到数据库中。

JButton 在大多数应用程序中,按钮包含文本或图像,向用户传达该按钮的作用。

例子。

JButton submitButton = new JButton("Submit");

JButton

在NetBeans中开始使用Java Swing桌面应用程序

NetBeans是一个使用不同语言开发应用程序的IDE。Java编程语言是NetBeans支持的众多语言中的一种。

NetBeans是使用swing开发桌面应用程序的最佳IDE,因为它为设计和编码用户界面提供了一个用户友好的界面。它有内置的swing库,可以自动填充代码。

在创建swing应用程序时,NetBeans的内建库在IDE中提供了一个调色板部分。这使得在设计一个应用程序时,拖放和组件变得更加容易。

让我们制作一个显示上述组件的Swing应用程序样本。这是一个收集客户个人信息的简单应用。

  1. 启动NetBeans IDE,点击文件->新项目。

NetBeans start

  1. 在项目窗口中选择Java和Java应用程序,然后点击下一步。

NetBeans project

  1. 将项目位置保留为默认,并将项目命名为sectionSampleSwingGUI。如果你需要创建主类,请勾选create mainclass 复选框,并勾选Use dedicated Folder for Storing Libraries 复选框,为库创建一个专用文件夹。在我们的例子中,我们将勾选这两个复选框。点击完成,等待项目的设置。

NetBeans add project

  1. 在项目上点击右键,选择新建,然后选择JFrame Form。这将形成我们的主类和主窗口。

NetBeans jframe

  1. 在接下来的步骤中,将该类命名为sectionHomeWindow。选择创建项目时创建的包,即sectionampleswinggui,然后点击完成。

JFrame name

我们的窗口已经被创建了。这构成了主要的组件,其他的swing组件将驻扎在这里。

JFrame form

  1. 现在我们将拖动本文前面讨论过的组件,并把它们放在JFrame 。然后我们将运行我们的应用程序,看看它看起来如何。要运行该应用程序,请点击IDE中的运行按钮,并点击运行项目菜单栏。

Project run

Desktop app

总结

Java Swing是非常容易使用的。由于与平台无关,而且是轻量级的,其应用程序的速度和可靠性都很高。

NetBeans IDE提供了一个简单而友好的GUI,可以毫不费力地拖放Swing组件,从而使应用程序的设计变得非常容易。

从这篇文章中,我们了解到以下内容。

  1. Java Swing和Java AWT之间的区别。
  2. 桌面应用程序开发中常用的Java Swing组件。
  3. 使用NetBeans IDE设计一个简单的桌面应用程序的样本。