gpt4 book ai didi

Java ActionListener(多个语句)

转载 作者:行者123 更新时间:2023-12-02 06:01:32 25 4
gpt4 key购买 nike

以下是我的代码的编辑和(非常基本的版本),以便您可以清楚地理解我正在尝试做什么。我想使用:

public void actionPerformed(ActionEvent e){ }    

问题是我无法在 ActionListener 下的循环中编辑/操作我的棋子的移动,但它永远不会对所有语句起作用,它总是只对一个 if 语句起作用并忽略其他语句。

if(e.getSource()==cSquare[a][b]){  //current source
if(switcher=="1" && cSquare[a][b].getChessPiece()=="Pawn" ) {}

ActionListener 的简单示例:

 for(int i=0;i<8;i++){
for(int j=0;j<8;j++){

...

 elements[i][x] = new OriginalElements(i, x, "None");
elemenents[i][j].setIcon(None);

......

        if(elements[i][x].Xpos()==2 && elements[i][x].Ypos()==2){
elements[i][x].setIcon(Image);
cSquare[i][x].setChessPiece("Image");
}
elements[i][j].addActionListener(cListener); //Click do this
panel.add(elements[i][jx);

我的问题是;我如何在 ActionListener 中实现多个(if、else 等)语句并使其对所有语句都起作用?而不是只有一个。我已经尝试了我知道的所有可能性,但似乎只适用于单个元素(例如,将图像从正方形移动到另一个正方形,并将当前的正方形图像替换为“EmptyImage”。
感谢您的时间。

P.S:忽略代码的“专业性”。我更改它是为了让您清楚地了解;;谢谢:)

最佳答案

您的代码中有各种错误:

if(e.getSource()==cSquare[a][b]){  //current source
if(switcher=="1" && cSquare[a][b].getChessPiece()=="Pawn" ) {}

使用 .equals(String str) 方法比较字符串。

 if(elements[i][x].Xpos()==2 && elements[i][x].Ypos()==2){
elements[i][x].setIcon(Image);
cSquare[i][x].setChessPiece("Image");

If 语句不以分号 (;) 结尾。

修复这些问题,看看效果如何。

关于Java ActionListener(多个语句),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22627286/

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