2009-01-06 5 views
2

Voici une question plutôt novice, mais ce sera très utile si vous me donnez quelques indices. J'utilise une application Java (avec Gui). Chaque fois que je quitte le Gui, la session (ce que j'ai fait dans le Gui) est enregistrée, et la prochaine fois que je démarre le Gui, la session sauvegardée est chargée. Lorsque j'installe l'application dans un autre répertoire et exécute le fichier exécutable de l'application nouvellement installée, la session sauvegardée de l'ancienne application est chargée. Pourquoi cela arrive-t-il? Les applications sont de la même version, et ont les mêmes noms, mais je pensais que quand je commencerais le fichier exécutable de l'application nouvellement installée, une nouvelle session commencerait (et rien de ce que j'ai fait dans l'interface graphique de l'autre application On se souviendra d'elle). Si j'exécute l'application pour la deuxième ou la neuvième fois, l'application précédente est sauvegardée, probablement parce qu'il y a une option pour enregistrer la session, mais pourquoi cela se produit-il avec le nouveau fichier exécutable? Est-ce que je dois changer/supprimer quelque chose quelque part dans mon ordinateur pour que cela ne se produise pas? (J'essaie ces choses en utilisant Windows machine).Exécution d'un nouveau fichier exécutable d'une application Java, enregistrement d'une session

Cordialement

Répondre

1

L'application est probablement économiser vos préférences dans votre répertoire ou registre de Windows, à savoir l'aide de la Preferences API.

2

Java peut enregistrer ses paramètres de programme dans un Preferences, qui à son tour est stocké dans un emplacement par utilisateur, en fonction des paramètres utilisés pour stocker et récupérer les valeurs. Sur les boîtes de fenêtre, ces préférences sont stockées dans le registre sous HKEY_CURRENT_USER/Software/JavaSoft/Prefs

Il peut y avoir une arborescence de répertoires importante sous ceci en utilisant les chemins de classe des objets pour distinguer les valeurs.

1

Utilisez-vous Swing et votre application étend-elle SingleFrameApplication (par exemple, l'application graphique par défaut créée dans NetBeans). Si c'est le cas, les informations sur l'état de la fenêtre sont sauvegardées - où cela dépend de la plate-forme. Pour arrêter cela, vous devez remplacer la méthode shutdown dans votre classe qui s'étend SingleFrameApplication

@Override 
protected void shutdown() { 
    super.shutdown(); // remove this if you don't want the window state saved 
} 
Questions connexes