gpt4 book ai didi

java - 如何获取被点击的JButton的索引?

转载 作者:行者123 更新时间:2023-12-01 18:00:54 26 4
gpt4 key购买 nike

我有一个 JButton[][] 矩阵。我尝试将 ActionListener 添加到存储按钮索引的按钮。

我需要制作一个游戏。

第一次单击显示我应该从哪个按钮开始,第二次单击显示应该从哪里开始。

最佳答案

您需要的可以通过多种方式实现,使用 HashMap、2D 数组等...这是我的建议:

继承:您现在需要一个具有 2 个默认情况下未定义的属性(列和行)的按钮

class MatrixButton extends JButton {
private static final long serialVersionUID = -8557137756382038055L;
private final int row;
private final int col;

public MatrixButton(String t, int col, int row) {
super(t);
this.row = row;
this.col = col;
}

public int getRow() {
return row;
}

public int getCol() {
return col;
}
}
<小时/>

您肯定有一个可以添加 JButton 的面板,现在添加一个 MatrixButton

 panel.add(MatrixButton);

然后添加 Action 监听器

button1.addActionListener(this);

当您单击时,您可以通过执行以下操作来获取位置坐标

   @Override
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == this.button1) {
System.out
.println(((MatrixButton) ae.getSource()).getRow() + "," + ((MatrixButton) ae.getSource()).getCol());
} else if (ae.getSource() == this.button2) {
// TODO
} else if (ae.getSource() == this.button3) {
// TODO
}
}

关于java - 如何获取被点击的JButton的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41047424/

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