Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (404)
games submitted by our members
Games in WIP (289)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Applet Lifecycle  (Read 197 times)
0 Members and 1 Guest are viewing this topic.
Offline Alan_W

JGO Knight


Medals: 7
Projects: 3


Java tames rock!


« Posted 2013-03-04 06:10:22 »

Applets don't seem to stop on Safari when I navigate away from the page.  isActive() remains true and stop() is not called.  If the tab is closed, then stop() does get called then.

Haven't checked to see if this is generic or Safari specific.  I thought the whole idea of start and stop was to suspend the applet when it isn't being displayed.  I'm noticing because my sound generation isn't stopping, and as this is actively driven by the game thread.

There is a demo applet on the oracle website at
http://docs.oracle.com/javase/tutorial/deployment/applet/lifeCycle.html
This prints out debug info
You need to have the console open to see what's going on.

I expected to get a stop() when navigating away from the page and a start if the page is redisplayed.  I thought that destroy() would be called to unload resources.  However I only get stop() when the tab is closed.  Is there a way to determine whether an applet is currently displayed?

Time flies like a bird. Fruit flies like a banana.
Offline jonjava

JGO Knight


Medals: 32



« Reply #1 - Posted 2013-03-04 06:33:49 »

Hmm, maybe the isFocusOwner() method?


Offline Alan_W

JGO Knight


Medals: 7
Projects: 3


Java tames rock!


« Reply #2 - Posted 2013-03-04 19:38:23 »

Good idea; It would work for muting sound when the applet doesn't have the focus.
However the applet doesn't start with the focus.  I suppose one could have a special case where sound is on at the start and only disabled when focus is lost.

Annoyingly the applet doesn't get the focus back if I tab away and then back again.  Maybe I could do something with Javascript and call into the Applet to let it know whats going on.

Edit: javascript document.hasFocus() looks possible.

Time flies like a bird. Fruit flies like a banana.
Pages: [1]
  ignore  |  Print  
 
 

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Browse for soundtracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (33 views)
2013-05-17 21:29:12

alaslipknot (42 views)
2013-05-16 21:24:48

gouessej (72 views)
2013-05-16 00:53:38

gouessej (71 views)
2013-05-16 00:17:58

theagentd (79 views)
2013-05-15 15:01:13

theagentd (74 views)
2013-05-15 15:00:54

StreetDoggy (114 views)
2013-05-14 15:56:26

kutucuk (138 views)
2013-05-12 17:10:36

kutucuk (138 views)
2013-05-12 15:36:09

UnluckyDevil (146 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.072 seconds with 20 queries.