gpt4 book ai didi

java - 关于ImageIcons的方法不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 02:29:14 24 4
gpt4 key购买 nike

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

import javax.swing.*;


public class Cards extends JFrame {

private GridLayout grid1;

JButton []bt=new JButton[52];

ImageIcon tail=new ImageIcon(getClass().getResource("b1fv.png"));

ImageIcon ori;

public Cards(){
grid1=new GridLayout(7,9,2,2);
setLayout(grid1);
for(int i=0;i<bt.length;i++){
ImageIcon c=new ImageIcon(getClass().getResource(i+1+".png"));
bt[i]=new JButton(c);
bt[i].addActionListener(new RatingMouseListener(i));
add( bt[i]);
}
}

public static void main(String[] args){
Cards frame=new Cards();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1400,700);
frame.setVisible(true);
}

private class RatingMouseListener implements ActionListener {
private int index=0;


public RatingMouseListener(int index) {
this.index = index;

}




public void actionPerformed(ActionEvent e) {
System.out.println("Mouse entered for rating " + index);
ori=new ImageIcon(getClass().getResource(index+1+".png"));

if (bt[index].getIcon()==ori)
bt[index].setIcon(tail);
else
bt[index].setIcon(ori);



}

}



}

当我运行它时,我希望 ori 和 tail 应该交换。但他们没有。有人可以帮助我吗?

最佳答案

这最好通过 description 来完成标签。

基本上,将描述设置为如下图,然后如果描述相同则交换它们。

ori.setDescription("ori");
tail.setDescription("tail");

if ("ori".equals((ImageIcon)bt[index].getIcon()).getDescription())
// The rest is how you had it.

关于java - 关于ImageIcons的方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557561/

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