J'étais juste curieux où je devrais placer la fonction principale dans un programme de Java Swing. Il semble que si c'est juste trop court aussi créer une nouvelle classe pour.Où puis-je implémenter la fonction main() dans un programme Swing?
Répondre
Je ne le mettrais pas dans la classe View. Si vous utilisez MVC, et que Swing est la vue, la principale appartient à Controller. C'est la classe responsable du démarrage de l'application, de l'instanciation de la vue et de la collaboration avec les objets Modèle pour remplir les cas d'utilisation.
Le contrôleur doit implémenter les interfaces de l'écouteur, car il répond aux événements Swing lorsqu'ils se produisent.
Je ne voudrais pas que votre vue étende JFrame. Faire les bits de travail de Swing étendre JPanel. Lorsque le contrôleur instancie la vue, il doit créer un JFrame, ajouter les JPanels dont il a besoin, s'enregistrer comme écouteur pour tous les événements Swing et rendre le JFrame visible. À ce stade, votre application est prête, en cours d'exécution et prête à partir.
Mettez-le dans votre classe principale DFrame
public class MyFrame extends JFrame {
public static void main(String args[]) {
new MyFrame();
}
MyFrame() {
// ...
}
}
Vous pouvez le mettre dans une classe. Il est logique de le mettre dans la classe qui représente votre boîte de dialogue principale dans votre application. Il n'est pas nécessaire de créer une classe juste pour main
.
Je ne recommanderais pas de mettre la méthode main
dans l'un de vos composants Swing. Il ne rentre pas bien dans un composant Swing car il n'a rien à voir avec les composants eux-mêmes.
Créez simplement une méthode main
dans une classe distincte. C'est bien que c'est court. Museler la logique pour exécuter votre programme dans la logique d'affichage semble trop coupler.
- 1. fonction d'appel dans le programme C++ où la fonction est déclarée dans un autre programme C++
- 2. où main() retourne-t-il sa valeur?
- 3. Comment implémenter un compilateur intégré dans Java/Swing?
- 4. Swing: par programme, sélectionnez un texte
- 5. Swing envoyer un événement par programme
- 6. Django: Implémenter un programme de parrainage
- 7. Java Swing main JFrame: pourquoi SwingUtilities.getAncestorOfClass renvoie null?
- 8. Comment accéder à argv [] depuis l'extérieur de la fonction main()?
- 9. Où implémenter CLLocationManager
- 10. comment implémenter sélecteur de couleur java swing
- 11. class Main dans un paquet?
- 12. Comment implémenter un programme d'installation Web?
- 13. Comment implémenter des langages multiples dans des applications Java/Swing?
- 14. java swing programme avec support multilingue
- 15. Non Main() dans WPF?
- 16. Comment implémenter UIScrollView par programme
- 17. Dois-je encore implémenter une classe singleton à la main dans .net, même en utilisant .Net4.0?
- 18. retourne la valeur de main() dans Windows
- 19. appel à la fonction Matlab dans un programme Python
- 20. Appel d'une autre fonction lorsque main() quitte
- 21. ELF fichier à la main
- 22. Implications lors de l'appel d'une fonction main() de .Net exe
- 23. Java Swing: quelle classe peut-on utiliser pour implémenter ceci?
- 24. Faire un hachage à la main/mathématiquement
- 25. Comment implémenter la fonction Chord avec GDIplus?
- 26. Comment implémenter cette fonction dans MATLAB?
- 27. C++ - arguments à la main
- 28. Comment implémenter la fonction 'escape' de javascript dans grails
- 29. Quelle est la manière correcte de manipuler les composants Swing au démarrage du programme?
- 30. Comment activer dynamiquement ou désactiver l'icône de la barre des tâches pour un programme Java Swing