21xrx.com
2024-11-08 22:04:31 Friday
登录
文章检索 我的文章 写文章
Java基础GUI设计入门:从Hello World开始
2023-06-14 21:03:16 深夜i     --     --
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开始逐步讲解了如何添加按钮和图标。这些技术可以帮助您创建令人印象深刻的桌面应用程序。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复