21xrx.com
2025-04-03 04:45:32 Thursday
文章检索 我的文章 写文章
Java基础GUI设计入门:从Hello World开始
2023-06-14 21:03:16 深夜i     16     0
label = new JLabel("Hello World")

Java是一种高级编程语言,被广泛应用于Web开发和桌面应用开发。GUI(Graphical User Interface)是Java桌面应用程序的重要部分。在本文中,我们将介绍Java基础GUI设计的入门知识,从Hello World开始一步步学习。

第一步:Hello World

让我们从一个简单的Hello World程序开始,这将显示一个窗口和一条消息。我们将使用Swing工具包中的JFrame和JLabel类来实现这个程序。

代码示例:

import javax.swing.*;
public class HelloWorldSwing {
  public static void createAndShowGUI() {
    //创建窗口(JFrame)
    JFrame frame = new JFrame("HelloWorldSwing");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //创建消息(JLabel)
    JLabel label = new JLabel("Hello World");
    frame.getContentPane().add(label);
    //显示窗口
    frame.pack();
    frame.setVisible(true);
  }
  public static void main(String[] args) {
    //设置Swing外观
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {
      e.printStackTrace();
    }
    //创建并显示GUI
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        createAndShowGUI();
      }
    });
  }
}

我们通过创建一个JFrame的实例来创建窗口,还创建了一个JLabel的实例作为该窗口的消息。最后,我们使用pack()和setVisible(true)方法将窗口显示出来。

这个程序中我们还设置了Swing的外观以确保它在多个操作系统上都有相同的外观和感觉。

第二步:添加按钮

让我们为程序添加一个按钮,当我们单击按钮时,会在标签中显示一条新消息。我们将使用JButton类来创建该按钮,并使用ActionListener接口来监听单击事件。

代码示例:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ButtonDemo extends JPanel {
  //定义标签和按钮
  JLabel label;
  JButton button;
  public ButtonDemo() {
    //设置布局管理器
    setLayout(new BorderLayout());
    //创建标签
    label = new JLabel("Hello World");
    add(label, BorderLayout.CENTER);
    //创建按钮
    button = new JButton("Click Me");
    add(button, BorderLayout.SOUTH);
    //添加按钮的单击事件监听器
    button.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        label.setText("Button Clicked");
      }
    });
  }
  public static void createAndShowGUI() {
    //创建窗口(JFrame)
    JFrame frame = new JFrame("ButtonDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //将面板(JPanel)添加到窗口中
    ButtonDemo panel = new ButtonDemo();
    frame.getContentPane().add(panel);
    //显示窗口
    frame.pack();
    frame.setVisible(true);
  }
  public static void main(String[] args) {
    //设置Swing外观
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {
      e.printStackTrace();
    }
    //创建并显示GUI
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        createAndShowGUI();
      }
    });
  }
}

这个程序中,我们创建了一个ButtonDemo类,它扩展了JPanel。我们通过设置布局管理器,将标签放置在面板的中央,并将按钮放置在面板的南部。我们还向按钮添加了一个ActionListener来监听单击事件,并在标签中显示一条新消息。

第三步:给按钮添加图标

让我们给按钮添加一个图标,这可以使应用程序看起来更加专业和吸引人。我们将使用Icon接口来表示图标,并使用ImageIcon类来加载图像。

代码示例:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class IconButtonDemo extends JPanel {
  //定义标签和按钮
  JLabel label;
  JButton button;
  public IconButtonDemo() {
    //设置布局管理器
    setLayout(new BorderLayout());
    //创建标签
    label = new JLabel("Hello World");
    add(label, BorderLayout.CENTER);
    //创建按钮
    ImageIcon icon = new ImageIcon("icon.png");
    button = new JButton("Click Me", icon);
    add(button, BorderLayout.SOUTH);
    //添加按钮的单击事件监听器
    button.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        label.setText("Button Clicked");
      }
    });
  }
  public static void createAndShowGUI() {
    //创建窗口(JFrame)
    JFrame frame = new JFrame("IconButtonDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //将面板(JPanel)添加到窗口中
    IconButtonDemo panel = new IconButtonDemo();
    frame.getContentPane().add(panel);
    //显示窗口
    frame.pack();
    frame.setVisible(true);
  }
  public static void main(String[] args) {
    //设置Swing外观
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {
      e.printStackTrace();
    }
    //创建并显示GUI
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        createAndShowGUI();
      }
    });
  }
}

这个程序中,我们创建了一个IconButtonDemo类,它扩展了JPanel。我们通过使用ImageIcon类来创建一个图标,然后将图标作为参数来创建一个带图标的按钮。最后,我们向按钮添加了一个ActionListener来监听单击事件,并在标签中显示一条新消息。

本文介绍了Java基础GUI设计中的一些入门知识,从Hello World开始逐步讲解了如何添加按钮和图标。这些技术可以帮助您创建令人印象深刻的桌面应用程序。

  
  

评论区

请求出错了