我对编程很陌生,正在尝试制作扫雷 GUI。游戏运行完美,右键单击 JToggleButton 在按钮上显示“B”代表炸弹,但是当我在 mouselistener 中将 setText() 替换为 setIcon() 时,它会在左右单击时显示图标。我在 setText() 时没有这个问题。
public void mousePressed(MouseEvent e){
if(e.isMetaDown())
if(btnPresses == 0)
{
startTime = System.currentTimeMillis();
btnPresses++;
}
//if(btn[y][x].getText().equals("B"))
if(btn[y][x].getIcon()==flag)
{
//btn[y][x].setText("");
btn[y][x].setIcon(null);
if(bombs[y][x]!=BOMB)
markers++;
}
else
{
//btn[y][x].setText("B");
btn[y][x].setIcon(flag);
if(bombs[y][x]==BOMB)
markers++;
else
markers--;
}
我在 actionlistener 中添加了一个 btn[y][x].setIcon(null),这会导致标志图标在左键单击时仅短暂出现,但我宁愿它根本不出现。