亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java Swing 教程:如何在 Java 中创建 GUI 应用程序

什么是 Java 中的 Swing?

Java 中的 Swing 是一个包含 GUI 组件的图形用户界面 (GUI) 工具包。 Swing 提供了一组丰富的小部件和包来为 Java 应用程序制作复杂的 GUI 组件。 Swing 是 Java Foundation Classes(JFC) 的一部分,JFC 是一个提供 GUI 的 Java GUI 编程 API。

Java Swing 库构建在 Java Abstract Widget Toolkit (AWT ),一个较旧的、平台相关的 GUI 工具包。您可以使用库中的 Java 简单 GUI 编程组件,如按钮、文本框等,而不必从头开始创建组件。

在本 Java Swing 教程中,您将学习 Java GUI 基础知识,例如-

Java Swing 类层次图

<中心>

<图>

Java Swing中的所有组件都是JComponent,可以添加到容器类中。


什么是容器类?

容器类是可以在其上具有其他组件的类。因此,要创建 Java Swing GUI,我们至少需要一个容器对象。 Java Swing 容器有 3 种类型。

  1. 面板 :它是一个纯粹的容器,本身不是一个窗口。面板的唯一目的是将组件组织到一个窗口中。
  2. 框架 :这是一个功能齐全的窗口,带有标题和图标。
  3. 对话框 :可以认为是一个弹出窗口,当必须显示消息时弹出。它不像 Frame 那样功能齐全的窗口。

什么是 Java 中的 GUI?

Java 中的 GUI(图形用户界面) 是一个易于使用的 Java 应用程序视觉体验构建器。它主要由按钮、标签、窗口等图形组件组成,用户可以通过这些组件与应用程序进行交互。 GUI 在为 Java 应用程序构建简单的界面方面发挥着重要作用。

如何通过示例在 Java 中制作 GUI

现在在这个 Java GUI 教程中,让我们了解如何使用 Java 示例中的 Swings 在 Java 中创建 GUI。

步骤 1) 将代码复制到编辑器中
第一步将以下代码复制到编辑器中。

import javax.swing.*;
class gui{
    public static void main(String args[]){
       JFrame frame = new JFrame("My First GUI");
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setSize(300,300);
       JButton button = new JButton("Press");
       frame.getContentPane().add(button); // Adds Button to content pane of frame
       frame.setVisible(true);
    }
}

步骤 2) 运行代码
下一步,保存、编译、运行代码

步骤 3) 将以下代码复制到编辑器中
现在让我们在框架中添加一个按钮。将以下代码从给定的 Java UI 示例复制到编辑器中

import javax.swing.*;
   class gui{
      public static void main(String args[]){
        JFrame frame = new JFrame("My First GUI");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300,300);
       JButton button1 = new JButton("Press");
       frame.getContentPane().add(button1);
       frame.setVisible(true);
     }
}


第 4 步) 执行代码
接下来,执行代码。你会得到一个大按钮。

第 5 步) 添加两个按钮
添加两个按钮怎么样?将以下代码复制到编辑器中。

import javax.swing.*;
class gui{
      public static void main(String args[]){
           JFrame frame = new JFrame("My First GUI");
           frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           frame.setSize(300,300);
          JButton button1 = new JButton("Button 1");
          JButton button2 = new JButton("Button 2");
          frame.getContentPane().add(button1);
          frame.getContentPane().add(button2);
          frame.setVisible(true);
     }
}

第 6 步) 保存并运行程序
接下来,保存、编译、运行程序。

第 7 步) 检查输出
意外输出=?按钮重叠了。

Java 布局管理器

布局管理器用于布局(或排列)容器内的 GUI Java 组件。布局管理器有很多,但最常用的是-

Java 边框布局

一个BorderLayout 最多可将组件放置在五个区域中:顶部、底部、左侧、右侧和中心。它是每个 java JFrame 的默认布局管理器

<中心>

<图>

Java 流布局


FlowLayout 是每个 JPanel 的默认布局管理器 .它只是将组件一个接一个地排列在一行中。

<中心>

<图>

Java GridBagLayout

它是所有布局中更复杂的。它通过将组件放置在单元格网格中来对齐组件,从而允许组件跨越多个单元格。

<中心>

<图>

第 8 步) 创建聊天框
像下面这样创建一个聊天框怎么样?

在查看下面的程序之前尝试自己编写代码。

//Usually you will require both swing and awt packages
// even if you are working with just swings.
import javax.swing.*;
import java.awt.*;
class gui {
    public static void main(String args[]) {

        //Creating the Frame
        JFrame frame = new JFrame("Chat Frame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);

        //Creating the MenuBar and adding components
        JMenuBar mb = new JMenuBar();
        JMenu m1 = new JMenu("FILE");
        JMenu m2 = new JMenu("Help");
        mb.add(m1);
        mb.add(m2);
        JMenuItem m11 = new JMenuItem("Open");
        JMenuItem m22 = new JMenuItem("Save as");
        m1.add(m11);
        m1.add(m22);

        //Creating the panel at bottom and adding components
        JPanel panel = new JPanel(); // the panel is not visible in output
        JLabel label = new JLabel("Enter Text");
        JTextField tf = new JTextField(10); // accepts upto 10 characters
        JButton send = new JButton("Send");
        JButton reset = new JButton("Reset");
        panel.add(label); // Components Added using Flow Layout
        panel.add(tf);
        panel.add(send);
        panel.add(reset);

        // Text Area at the Center
        JTextArea ta = new JTextArea();

        //Adding Components to the frame.
        frame.getContentPane().add(BorderLayout.SOUTH, panel);
        frame.getContentPane().add(BorderLayout.NORTH, mb);
        frame.getContentPane().add(BorderLayout.CENTER, ta);
        frame.setVisible(true);
    }
}

java

  1. 如何在 Azure 上部署 Java EE 应用程序
  2. 如何创建无摩擦的用户体验
  3. 如何在 VHDL 中创建字符串列表
  4. Java 数组教程:声明、创建、初始化 [示例]
  5. 如何在 Java 中创建对象数组
  6. 如何在 Java 中生成随机数
  7. Java BufferedReader:如何通过示例在 Java 中读取文件
  8. 如何在 Java 中将字符转换为字符串(示例)
  9. 如何使用递归在 Java 中反转字符串
  10. Java 10 - 类数据共享
  11. 如何在 C# 中创建一个简单的 PLCnext 控制台应用程序
  12. PLCnext 控件上的 Java 应用程序