gpt4 book ai didi

java - 禁用时如何阻止 JButton 变灰?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:34:40 30 4
gpt4 key购买 nike

我必须写一个纸牌游戏。单击卡片时会生成随机卡片图像,但由于您只能单击卡片一次,因此按钮设置为单击后禁用。如何阻止卡片图像在单击后变灰,以便新生成的卡片图像清晰可见?

//Actions performed when an event occurs
public void actionPerformed(ActionEvent e)
{

if (e.getSource() == card1)
{
randomInteger();
card1.setIcon(cardImages[randomInt]);
card1.setEnabled(false);

}
else if (e.getSource() == card2)
{
randomInteger();
card2.setIcon(cardImages[randomInt]);
card2.setEnabled(false);
}
else if (e.getSource() == card3)
{
randomInteger();
card3.setIcon(cardImages[randomInt]);
card3.setEnabled(false);
}
else if (e.getSource() == card4)
{
randomInteger();
card4.setIcon(cardImages[randomInt]);
card4.setEnabled(false);
}
else
{
randomInteger();
card5.setIcon(cardImages[randomInt]);
card5.setEnabled(false);
}

}

}

最佳答案

您只需将按钮的禁用图标设置为与按钮图标相同的值。看这个例子:

在左边有一个按钮,我在其中设置了 icon 和 disabledIcon。右边我只设置了图标:

Example

import java.awt.BorderLayout;
import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class TestDisabledButtons {

public static final String CARD_URL = "http://assets0.wordansassets.com/wvc-1345850020/wordansfiles/images/2012/8/24/156256/156256_340.jpg";

protected void createAndShowGUI() throws MalformedURLException {
JFrame frame = new JFrame("Test button");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon imageIcon = new ImageIcon(new URL(CARD_URL));
JButton button = new JButton(imageIcon);
JButton button2 = new JButton(imageIcon);
button.setDisabledIcon(imageIcon);
button.setEnabled(false);
button2.setEnabled(false);
frame.add(button, BorderLayout.WEST);
frame.add(button2, BorderLayout.EAST);
frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
new TestDisabledButtons().createAndShowGUI();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}

}

关于java - 禁用时如何阻止 JButton 变灰?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13376397/

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