2010-09-13 7 views
1

Je suis actuellement en train de porter mon application Android à une application de bureau en utilisant Java (Swing, NetBeans). J'ai besoin d'une fenêtre java principale et de plusieurs formulaires pop-up pour l'utilisateur IO. Dans l'application Android, j'ai utilisé des activités, par exemple: startActivity(anotherActivity). J'utilise actuellement un JFrame pour chaque formulaire pop-up dans l'application PC que j'utilise setVisible pour simuler l'ouverture des formulaires à partir d'actions de menu et d'autres logiques d'événements, mais appuyer sur le bouton de fermeture de l'un des formulaires pop-up ferme l'ensemble application, pas seulement le formulaire. Dois-je utiliser autre chose que setVisible(true|false)? Dois-je utiliser autre chose que JFrames comme un JPanel ou JDialog? Devrais-je remplacer close() sur mes formulaires enfants pour faire setVisible(false)? Malheureusement, j'apprends Java, Swing et NetBeans à la volée, donc la meilleure approche de ces types de problèmes n'est pas évidente (pour moi).Comment gérer au mieux les formulaires contextuels Java Swing?

Edit: Pourquoi le code généré automatiquement dans initComponents() ensemble à EXIT_ON_CLOSE lorsque le defaultCloseOperation est réglé sur HIDE dans les propriétés du formulaire swing?

Répondre

2

Vous voulez probablement ajuster la valeur par défaut étroite, pour cacher juste le cadre au lieu de quitter l'application:

setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); 

Ressources

+0

J'ai vérifié que le paramètre defaultCloseOperation est défini sur HIDE dans les propriétés du formulaire, mais le code généré automatiquement dans initComponents () est défini sur EXIT_ON_CLOSE. Est-ce un défaut JavaBeans? Y at-il un travail autour? – jacknad

+0

HIDE fonctionne maintenant. Ne pas obtenir le EXIT_ON_CLOSE dans initComponents plus. Je ne sais pas exactement pourquoi. – jacknad

Questions connexes