タイトルが質問に完全に一致するかどうかは正直わかりませんが、とにかくここにあります。私はJavaで簡単なゲームを作成しています。このゲームでは、エイリアンの宇宙船が画面の上部から落下し、それらを殺さずに画面の下部に到達すると、宇宙ステーションがダメージを受けます。しかし、宇宙ステーションが破壊されるたびに、プレイヤーに死んだことを知らせるメッセージボックスが表示されなくなり、何度も何度もポップアップし続けます。そして、コンソールに、大きくなるのを止めないエラーメッセージが表示されます。これは私が宇宙ステーションの健康のために持っているコードです:
public class SpaceStation extends Entity {
public static int stationHealth = 100;
public SpaceStation(int x, int y) {
super(x, y);
}
public void update() {
}
public void draw(Graphics2D g2d) {
g2d.drawImage(ImageLocator.getSpaceStation(), 0, 595, null);
// HEALTH BAR
g2d.fillRect(5, 25, stationHealth, 10);
if(stationHealth <= 0) {
try{
JOptionPane.showMessageDialog(null, "You died on level "
+ GameFrame.level + ". Better luck next time!");
GameFrame.mainTimer.stop();
System.exit(0);
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e.getMessage());
System.exit(0);
}
}
}
public Rectangle getBounds() {
return new Rectangle(x, y, 600, 200);
}
}
どうやらエラーが発生している行はJOptionPane.showMessageDialog(null、"レベルで死亡しました"エラーメッセージは次のとおりです。
at java.lang.Thread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.InternalError: The current process has used all of its system allowance of handles for Window Manager objects.
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.InternalError: The current process has used all of its system allowance of handles for Window Manager objects.
お時間をいただきありがとうございます。