2011-11-30 5 views
6

J'ai passé les dernières heures à chercher sur Internet des exemples et des idées pour écrire une interface graphique de taille moyenne en Java. Je connais un peu le swing mais c'est tout. Je ne connais pas d'autre moyen de développer une interface graphique en Java en dehors du swing. Si vous connaissez une autre façon, ce serait bien aussi. Je veux aussi écrire moi-même l'interface graphique pour faciliter l'intégration avec notre jeu et le refactoring futur.Architecture graphique et design en Java (Swing)

Nous avons écrit toute la logique commerciale d'un jeu Tic Tac Toe qui a plusieurs fonctionnalités. Le GUI doit avoir plusieurs fenêtres qui peuvent être parcourues à l'aide de simples boutons sur l'interface. Une version très brute et l'eau abattu de ce que je cherche à faire peut être vu ci-dessous:

Main Menu Network Box

Game Board

Le cœur de ma question est la suivante:

Comment est-ce que j'architecte l'interface graphique en utilisant Swing et quel est le design général?

et quelques questions de suivi: Existe-t-il une classe pour chaque fenêtre? Dois-je simplement utiliser setvisible pour faire apparaître et disparaître mes fenêtres après avoir appuyé sur les boutons?

y a-t-il des exemples que vous connaissez tous (github repos serait excellent! Content forking!) Qui pourrait me montrer une bonne architecture/design gui?

Répondre

5

Je pense que vous pouvez créer plusieurs JPanels (ou leurs extensions) les placer dans un conteneur avec CardLayout et changer de carte si nécessaire.

+0

En mettant l'accent sur l'interface graphique, j'approuverais l'approche à une seule image et à plusieurs panneaux de StanislavL. 'CardLayout', pour [exemple] (http://stackoverflow.com/a/5655843/230513), est un bon moyen de basculer. – trashgod

+0

Connaissez-vous des exemples de ce genre? –

+0

Je m'excuse beaucoup. Je n'ai pas vu votre lien plus tôt. Je naviguais depuis mon téléphone et il n'a pas rendu avant. Je vous remercie! –

5

Considérez également le modèle Model–View–Controller, discuté here.

+0

Nous utilisons une architecture très similaire (essentiellement MVC) pour le jeu global. Mais je ne suis pas concerné par l'architecture globale. Je suis préoccupé par l'architecture et la conception de simplement l'interface graphique. –

+0

J'ai regardé plus profondément à vos liens. Ils ont l'air très intéressant. Je vais regarder dans des exemples. –