java - Swing中的按钮点击事件

标签 java swing chess

我使用 JButton 创建了棋盘,我使用 ASCII 值来处理棋子。

我向所有按钮添加了 ActionListener。当我单击源(第一个)按钮时,actionPerformed 事件被调用,我将按钮的值存储在变量中。

但问题是当我单击目标按钮时 actionPerformed 事件被调用并且值被替换为源按钮值。

我想要不同变量中的源按钮值和目标按钮值。怎么可能?

public void actionPerformed(ActionEvent ae) 
{
    JButton o = (JButton) ae.getSource();
    value = o.getText();
}

最佳答案

然后您需要 2 个变量来存储这两个值,并需要第三个变量来告诉您发生了哪次点击。

     if(isSource){
         source = o.getText();
         isSource = false;
     }else{
         destination = o.getText();
         isSource = true;
     }

这样,在第一次单击时您知道源的值,在第二次单击时您知道目标的值。然后在下一次点击时它又是一个来源等等。

关于java - Swing中的按钮点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15278013/

相关文章:

java - "The method addActionListener(ActionListener) in the type AbstractButton is not applicable for the arguments"错误

Java - 突出显示两个字符之间的文本 - JTextPane

java - 将 MouseEvents 从一个 Java 文件链接到另一个 Java 文件

python - 使用 Keras 进行棋子彩色图像分类

java - JDBC和JMS的Spring事务同步

Java卡片布局不显示文本区域

java - 导出的 jar 文件无法识别 SqlMapConfig.xml

actionscript-3 - Minimax with Alpha-beta pruning,得到结果

javax.ejb.TransactionRolledbackLocalException : Exception thrown from bean

java - FXML如何设置选择框默认值