java - 如何让单独的按钮做单独的事情?
问题描述
我正在制作的一个简单应用程序中有一个按钮,一旦按下它就会将变量加一。这是它的代码:
public class GUI implements ActionListener {
int clicks = 0;
int autoClickLevel = 0;
JLabel label;
JFrame frame;
JPanel panel;
public GUI() {
JButton button = new JButton("Click me!");
button.addActionListener(this);
panel = new JPanel();
panel.setBorder(BorderFactory.createEmptyBorder(60, 100, 30, 100));
panel.setLayout(new GridLayout(0, 1));
panel.add(button);
frame.add(panel, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
public static void main(String[] args) {
new GUI();
}
@Override
public void actionPerformed(ActionEvent e) {
clicks++;
}
我想知道如何制作一个单独的按钮(我已经制作了它,它会显示出来;JButton button2 = new JButton("Click me too!");
)它会改变一个单独的变量。button2.addActionListener(this);
[加上不同的方法,]而不是增加clicks
变量而不是单独的clicks2
变量。
我的代码对此有点混乱,第二个按钮的脚本根本不起作用。我对 Java 也很陌生,所以我也不太擅长弄清楚这一点。使第二个按钮增加另一个变量的好方法是什么?
解决方案
有不同的 ActionListener。你可以这样做:
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// do something
}
});
或者您可以将 ActionListener 定义为它自己的类。
推荐阅读
- groovy - 如何分离 Traits 的源文件并在 Groovy 中对它们进行类型检查?
- hadoop - 当 hive 将文件从 HDFS 加载到表中时,如何阻止 hive 移动数据?
- android - 如何通过 USB 串口获取 USB 设备型号?
- string - HIVE 将时间戳列数据呈现为 NULL
- python-3.x - Python:读取数据文件并处理/过滤数据
- vue.js - 如果值大于 50,则更改进度条的颜色 Bootstrap-Vue
- javascript - nodejs REPL 不处理 JSON.parse()?
- android - 尝试保存和恢复实例
- javascript - 从嵌套对象数组中递归创建字符串?
- sql - 如何从存储过程中的 select 语句中为变量赋值?