私はプログラミングが初めてで、マインスイーパ GUI を作成しようとしています。JToggleButton を右クリックすると、ゲームは完全に機能し、ボタンに爆弾の「B」が表示されましたが、マウスリスナーで 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--;
}
アクションリスナーに btn[y][x].setIcon(null) を追加しました。これにより、左クリックしたときにフラグアイコンが短時間だけ表示されますが、まったく表示されないようにしたいです。