1

I am making a game and whenever the player comes in contact with an enemy, I want a JFrame to pop up asking if you want to fight the enemy, but when the JFrame pops up, the game keeps running in the background. I noticed with JOptionPanes, the thread pauses until the JOptionPane is gone. How would i get a similar effect with a JFrame?

Paul Samsotha
  • 197,959
  • 33
  • 457
  • 689
Ryan Hosford
  • 499
  • 1
  • 7
  • 25
  • possible duplicate of [How to wait for a JFrame to close before continuing?](http://stackoverflow.com/questions/12335733/how-to-wait-for-a-jframe-to-close-before-continuing) – Hovercraft Full Of Eels Apr 22 '14 at 00:37
  • 1
    *"..the game keeps running in the background. I noticed with JOptionPanes, the thread pauses until the JOptionPane is gone."* That is entirely wrong. The **user** is blocked from accessing the main UI, but any animation (if done correctly) keeps animating away. – Andrew Thompson Apr 22 '14 at 01:10

1 Answers1

2

Solution: don't use a JFrame -- You're asking for a window that acts as a modal dialog -- so use a modal dialog, a JDialog to be exact. Note that this is exactly what JOptionPane does.

Hovercraft Full Of Eels
  • 280,125
  • 25
  • 247
  • 360
  • Can i still do the same thing that JFrames do? Such as card layouts, buttons, etc. – Ryan Hosford Apr 22 '14 at 00:53
  • @RyanHosford: it can do all of those things. Understand that just like a JFrame, it is a top-level window. It can't create another icon on your icon bar. And closing it cannot automatically close the application (unless you write code specifically to do this). – Hovercraft Full Of Eels Apr 22 '14 at 00:54