2013-07-20 8 views
1

Je commence un nouveau projet GUI, et je me demande où est le meilleur endroit pour mettre le code de l'article, comme un bouton, un champ de texte ou autre chose? Je ne pense pas que le meilleur endroit pour le code soit dans la classe principale, car il semble que ce serait trop de code pour un fichier et plus difficile à gérer. C'est comme ça que je le fais habituellement (le tout en un seul fichier).Où placer le code article

package apollo; 

import java.awt.FlowLayout; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JTextField; 

public class Apollo{ 

    protected JFrame frame = new JFrame("Apollo"); 

    public Apollo(){ 
     frame.setSize(800, 600); 
     frame.setLayout(new FlowLayout()); 
     frame.setLocationRelativeTo(null); 
     frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
     frame.setVisible(true); 
     this.buildLayout(); 
     frame.revalidate(); 
    } 

    protected void buildLayout(){ 
     JTextField txt = new JTextField(30); 
     frame.add(txt); 

     JButton btn = new JButton("Submit"); 
     frame.add(btn); 
    } 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args){ 
     Apollo a = new Apollo(); 
    } 
} 
+1

Peut-être que cet article et comment mettre en place une interface graphique Swing vous aidera. http://java-articles.info/articles/?p=349 –

+0

Un autre exemple pour: [MVC - Model View Controller Pattern] (http://www.onjava.com/pub/a/onjava/2004/07/ 07/genericmvc.html) –

Répondre

4

Votre classe principale ne devrait normalement avoir qu'une méthode principale.

Cette méthode principale devrait créer une classe qui gère l'initialisation de votre interface graphique.

Pour les autres composants de l'interface utilisateur, si vous les réutilisez ou si leur code est volumineux, le composant a besoin de sa propre classe.

Si vous ne réutilisez jamais le composant et que son code est petit, il n'a pas besoin de sa propre classe.

+1

+1 pour la première partie de votre réponse. -1 pour l'utilisation des conseils de l'interface utilisateur. –

+2

Les professionnels que je connais sont partagés sur celui-ci, car le code dépendant d'un générateur de code dépend de la mise à jour appropriée de ce générateur. Beaucoup utilisent plutôt leurs propres bibliothèques bien rodées. Peu importe, je suis d'accord avec beaucoup ici que jusqu'à ce que l'étudiant comprenne la bibliothèque Swing, ils devraient coder manuellement leur code afin de se faire comprendre car un générateur de code cacherait les détails et pourrait nuire à la compréhension. Une fois atteint, alors utilisez la génération de code comme vous le souhaitez. –

+1

@HovercraftFullOfEels très bon point. L'écriture de code d'assurance-chômage à l'université m'a aidé dans ma carrière. Parfois, les générateurs d'interface utilisateur produisent des résultats inattendus, comment pouvez-vous résoudre ce problème si vous ne comprenez pas le code produit? Modification de la réponse –