Java Swing

原文:https://www.studytonight.com/java/java-swing.php

Java Swing 是一个 GUI 框架,包含一组类,提供比 AWT 更强大、更灵活的 GUI 组件。Swing 提供了现代 Java GUI 的观感。Swing 库是 Sun 微系统公司发布的一个官方 Java GUI 工具包。它用于用 Java 创建图形用户界面。

Swing 类在 javax.swing 包及其子包中定义。

秋千的特点

  1. 独立于平台
  2. 可定制的
  3. 可扩张的
  4. 可配置的
  5. 轻量级选手
  6. 丰富的控件
  7. 可插拔外观

挥杆和 JFC

JFC 是 Java Foundation 类的缩写,它包含一组构建图形用户界面(GUI)的特性,并为 Java 应用添加丰富的图形功能和交互性。Java Swing 是 Java 基础类(JFC)的一部分。

JFC 的特点

  • 摆动图形用户界面组件。
  • 观感支持。
  • Java 2D。

AWT 和 Swing 层次结构

swing heirarchy

摇摆班介绍

JPanel : JPanel 是 Swing 的 AWT 类 Panel 的版本,使用相同的默认布局,FlowLayout。JPanel 直接从 JComponent 派生而来。

JFrame : JFrame 是 Swing 版本的 Frame,直接从 Frame 级进化而来。添加到框架的组件称为其内容。

JWindow : 这是 Swing 版本的 Window,直接从 Window 类进化而来。像窗口一样,默认情况下使用边框布局。

JLabel : JLabel 是 JComponent 的后代,用于创建文本标签。

按钮:按钮类提供按钮的功能。JButton 允许图标、字符串或两者与按钮相关联。

JTextField:JTextField 允许编辑单行文本。

创建 JFrame

有两种方法可以创建 JFrame 窗口。

  1. 通过实例化 JFrame 类。
  2. 通过扩展 JFrame 类。

通过实例化 JFrame 类创建 JFrame 窗口

import javax.swing.*;  //importing swing package
import javax.swing.*;  //importing swing package
import java.awt.*;     //importing awt package
public class First
{
    JFrame jf;
    public First() {
        jf = new JFrame("MyWindow");            //Creating a JFrame with name MyWindow
        JButton btn = new JButton("Say Hello");//Creating a Button named Say Hello
        jf.add(btn);                            //adding button to frame
        jf.setLayout(new FlowLayout());        //setting layout using FlowLayout object
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      //setting close  operation.
        jf.setSize(400, 400);                   //setting size
        jf.setVisible(true);                    //setting frame visibility
    }
    public static void main(String[] args)
    {
        new First();
    }
}

creating jframe using composition

通过扩展 JFrame 类创建 JFrame 窗口

import javax.swing.*; //importing swing package
import java.awt.*; //importing awt package
public class Second extends JFrame
{
    public Second()
    {
        setTitle("MyWindow"); //setting title of frame as  MyWindow
        JLabel lb = new JLabel("Welcome to My Second Window");//Creating a label named Welcome to My Second Window
        add(lb);                        //adding label to frame.
        setLayout(new FlowLayout());    //setting layout using FlowLayout object.
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //setting close operation.
        setSize(400, 400);              //setting size
        setVisible(true);               //setting frame visibility
    }

    public static void main(String[] args)
    {
        new Second();
    }
}

creating jframe using inheritance

要记住的要点

  1. 导入 javax.swing 和 java.awt 包,使用 swing 的类和方法。
  2. 创建框架时(通过实例化或扩展框架类),框架的可见性必须具备以下两个属性:

    setSize(int width, int height);
    setVisible(true);
    
  3. 当您创建其他组件(如按钮、文本字段等)的对象时。然后需要使用 add(组件的对象)的方法将其添加到框架中;

  4. 您也可以添加以下方法来调整框架的大小- 设置大小可调整(真);