Мы создали метод, который определит, где находится наш образ в нашем фрейме. Если изображение находится в определенной части кадра, оно отобразит диалоговое окно с сообщением, и мы вернемся к нашему основному JPanel
(мы делаем игру для мини-гольфа;))Диалог сообщений снова и снова
Проблема в том, что когда появляется диалоговое окно сообщения, он продолжает появляться после того, как он переключился на нашу главную панель. Вот код:
package Project;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class Blackhole
{
Image blackhole;
int xblack;
int yblack;
public final int breedte=75;
public final int hoogte=75;
public String afbeelding2;
public Atoom atoom;
public Frame venster;
public SpelPaneel x;
public Blackhole(int xblack, int yblack, String afbeelding2)
{
this.xblack = xblack;
this.yblack = yblack;
blackhole = new ImageIcon(getClass().getResource(afbeelding2)).getImage();
}
public void tekenblackhole(Graphics g)
{
g.drawImage(blackhole,xblack,yblack,75,75,null);
}
public boolean gameover(Atoom atoom)
{
return ((atoom.xpositie +atoom.BREEDTE > this.xblack) && (atoom.xpositie < this.xblack + this.breedte) && (atoom.ypositie + atoom.HOOGTE>this.yblack && atoom.ypositie<this.yblack+this.hoogte)) ;
}
И это метод, который мы призываем в нашем классе, где происходит игра.
if (blackhole.gameover(atoom))
{
JOptionPane.showMessageDialog(null, "You're Goneee in The Black Hole !!");
venster.switchPanel();
}
Сделайте экземпляр boolean default равным false, проверьте, является ли оно ложным перед показом вашей ошибки, покажите свою ошибку и установите для нее значение true. – Logan