gpt4 book ai didi

java - 将多个按钮与 ActionEvent 结合使用

转载 作者:行者123 更新时间:2023-12-02 05:49:53 25 4
gpt4 key购买 nike

我已经在这方面得到了一些帮助,但是现在当我按下按钮时,没有任何反应。我希望当您单击按钮时显示文本。如果是布局问题,我应该使用哪一个? FlowLayout 不适用于此程序,因为它会扭曲按钮。

import java.awt.*;
import java.awt.event.*;

public class Option3 extends Frame implements WindowListener,ActionListener
{
Label l1;
Label l2;
Label l3;
Button b1;
Button b2;
Button b3;
public static void main(String[] args)
{
Option3 o3 = new Option3("Press a Button");
o3.setSize(700,350);
o3.setVisible(true);
}
public Option3(String option3)
{
super(option3);
setLayout(null);
addWindowListener(this);

Label l1 = new Label();
l1 = new Label();
l1.setBounds(50,150,125,50);
l1.setVisible(true);
add(l1);

Label l2 = new Label();
l2 = new Label();
l2.setBounds(275,150,125,50);
l2.setVisible(true);
add(l2);

Label l3 = new Label();
l3 = new Label();
l3.setBounds(500,150,125,50);
l3.setVisible(true);
add(l3);

Button b1 = new Button();
b1 = new Button();
b1.addActionListener(this);
b1.setBounds(25,100,175,175);
add(b1);

Button b2 = new Button();
b2 = new Button();
addWindowListener(this);
b2.addActionListener(this);
b2.setBounds(250,100,175,175);
add(b2);

Button b3 = new Button();
b3 = new Button();
b3.addActionListener(this);
b3.setBounds(475,100,175,175);
add(b3);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == b1)
{
l1.setText("You pressed button 1.");
}
else if (e.getSource() == b2)
{
l2.setText("You pressed button 2.");
}
else if (e.getSource() == b3)
{
l3.setText("You pressed button 3.");
}
}
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
public void windowActivated(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
}

最佳答案

public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1) {
// do stuff
} else if (e.getSource() == b2) {
// do other stuff
}
}

e.getSource() 返回触发事件的对象引用。

关于java - 将多个按钮与 ActionEvent 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23662962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com