📜  java jbutton 触发动作 - Java (1)

📅  最后修改于: 2023-12-03 14:42:14.803000             🧑  作者: Mango

Java JButton 触发动作

在 Java 中,JButton 是常用的组件之一,它可以让用户通过点击按钮来执行特定的动作。本文将介绍如何使用 JButton 来触发动作。

创建 JButton

在 Java 中创建 JButton 很简单,只需要使用 JButton 类的构造函数即可。下面是一个创建 JButton 的示例代码:

import javax.swing.*;

public class Main {
  public static void main(String[] args) {
    JFrame frame = new JFrame("JButton Demo");

    JButton button = new JButton("Click me");
    // 设置按钮的位置和大小
    button.setBounds(100, 100, 100, 50);

    frame.add(button);
    frame.setSize(300, 300);
    frame.setLayout(null);
    frame.setVisible(true);
  }
}
添加 ActionListener

要让按钮触发动作,需要为它添加 ActionListener 监听器。下面是一个添加 ActionListener 的示例代码:

import java.awt.event.*;
import javax.swing.*;

public class Main {
  public static void main(String[] args) {
    JFrame frame = new JFrame("JButton Demo");

    JButton button = new JButton("Click me");
    // 设置按钮的位置和大小
    button.setBounds(100, 100, 100, 50);

    button.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        // 在此处添加按钮点击后执行的代码
        System.out.println("Button Clicked!");
      }
    });

    frame.add(button);
    frame.setSize(300, 300);
    frame.setLayout(null);
    frame.setVisible(true);
  }
}

在上面的示例代码中,我们创建了一个匿名内部类作为 ActionListener 监听器,并在点击按钮时输出了一条消息。

使用 Lambda 表达式

Java 8 引入了 Lambda 表达式,可以更简化地添加 ActionListener 监听器。下面是一个使用 Lambda 表达式的示例代码:

import javax.swing.*;

public class Main {
  public static void main(String[] args) {
    JFrame frame = new JFrame("JButton Demo");

    JButton button = new JButton("Click me");
    // 设置按钮的位置和大小
    button.setBounds(100, 100, 100, 50);

    button.addActionListener(e -> {
      // 在此处添加按钮点击后执行的代码
      System.out.println("Button Clicked!");
    });

    frame.add(button);
    frame.setSize(300, 300);
    frame.setLayout(null);
    frame.setVisible(true);
  }
}

在上面的示例代码中,我们使用了 Lambda 表达式来添加 ActionListener 监听器,可以更简洁地实现相同的功能。

总结

通过本文,我们学习了如何在 Java 中使用 JButton 来触发动作。我们了解了如何创建 JButton,如何添加 ActionListener 监听器,并使用了 Lambda 表达式简化了代码。