• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Where to read/write properties in Swing application?

 
Ranch Hand
Posts: 111
PHP Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hell, it is about 5 years ago I posted on this forum and haven't done any Java programming since 2 years.... But I have a new project again, and a very trivial problem.

I work on a program with a Swing GUI, and according to the guidelines, I start the GUI in the event dispatch thread. My main class is not GUI aware, I consider it as good practice to have aa non-Swing aware main class but maybe this idea is a bit obsolete...


Not very special, the issue is that the constructor of the main class returns immediately and the main object gets out of scope. Even the main() methods returns immediately so the main thread ends.

So there is not really a good place to place code to save the property file when the aplication is closed. Is the finalize() method maybe a good location? I do not think so, nor do I think the reading and writing of the property file belongs in the GUI classes.... In each case the reading and writing of the property file shoud occur in the same class I guess.
Obviously this is a trivial problem and solved more than a thousand times What do I miss here?
REgards, Klaas

 
Sheriff
Posts: 22783
131
Eclipse IDE Spring VI Editor Chrome Java Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Runtime.getRuntime.addShutdownHook(...)

This will always be called when the JVM shuts down except when:
  • you call Runtime.getRuntime().halt(...)
  • the JVM is forcefully terminated (using sigkill in Linux or from the processes tab of Windows' Task Manager). Terminating through sigclose (Linux) or from the applications tab of Windows' Task Manager does call them, as far as I know.
  • although I'm not 100% sure, I also believe shutdown hooks are not called when the JVM is terminated because Windows / Linux shuts down completely.
  •  
    Klaas van Gelder
    Ranch Hand
    Posts: 111
    PHP Java Linux
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Thanks, this works indeed! Never seen that before.... I wonder if this is indeed the way most programs handle the writing of persistent data in standalone applications.
     
    The human mind is a dangerous plaything. This tiny ad is pretty safe:
    a bit of art, as a gift, the permaculture playing cards
    https://gardener-gift.com
    reply
      Bookmark Topic Watch Topic
    • New Topic