grundsätzliches Vorgehen für GUI Programmierung

Status
Nicht offen für weitere Antworten.

alex999

Mitglied
Hallo,

ich muss zum ersten Mal eine (MDI-) GUI programmieren. Und jetzt stelle ich fest, dass ich doch nicht so schlau bin wie ich immer dachte ;-)

Mir geht es hier weniger um die ganzen Bibliotheken wie Swing etc. mir geht es um das grundsätzliche Vorgehen bei einer GUI Programmierung. Was kommt zuerst, die Frames, die Container oder die Menus oder die einzelnen Frames um sie später zu verknüpfen? Was muss unbedingt von vorneherein beachtet werden usw.

Gibt es hier eine beste Vorgehensweise, ein Tutorial diesbzgl. o.ä.?


BTW: kann man mit Swing eine GUI bauen, die ähnlich Outlook 2003 aussieht (*duck*)?

Danke für Tipps und schöne Grüße,
Bern
 
Erstmal solltest Du Dir über das Datenmodell Gedanken machen. Daraus leitet sich ab, welche Informationen in der GUI überhaupt dargestellt werden müssen. Dann liest Du Dir am besten mal die Grunsätze über MVC durch, das gängige Konzept zur Trennung von Daten und GUI. Wenn das soweit klar ist, würde ich mir erstmal je nach Komplexität der Aufgabe, Skizzen machen wie die GUI überhaupt aussehen soll. Und erst dann guckst Du, wie Du dieses umsetzen kannst.

Wegen Outlook: Es gibt imo ein Look and Feel für Swing, dass MS Office imitiert. War irgendwann mal im Forum verlinkt, musste mal suchen.
 
Das frage ich mich auch, wie kann man die GUI Programmierung am besten ordnen?
Oder wie macht ihr das?

Instanziert ihr erst alle Objekte die ihr benutzen wollte:

Code:
JPanel panel1 = new JPanel();
JTextArea tarea = new JTextArea();
JButton button1 = new JButton();
JButton button2 = new JButton();
JButton button3 = new JButton();
JButton button4 = new JButton();

panel1.setLayout(...);
panel1.setBorder(...

button1.....

oder eher so:

Code:
JPanel panel1 = new JPanel();
panel1.setLayout(...);
panel1.setBorder(...);


JTextArea tarea = new JTextArea();
tarea.....

Oder fängt ihr mit den "Unterobjekten" zuerst an?

Code:
JButton button1 = new JButton();
JButton button2 = new JButton();
......
......
......
JPanel panel1 = new JPanel();
panel1.add(button1);
...


Gibt es da irgendwelche Empfehlungen oder Richtlinien?

Danke, kejo
 
Das machste wies dir gefällt. Ich mach das z. B. immer so:

Code:
public class Blub extends JFrame {

    private static final long serialVersionUID = 1L;

    private JPanel mainPane = null;
    private JPanel leftPane = null;
    private JPanel centerPane = null;
    private JPanel rightPane = null;

    private JButton button1 = null;
    private JButton button2 = null;
    private JButton button3 = null;

    public Blub() {

        mainPane = new JPanel();
        leftPane = new JPanel();
        centerPane = new JPanel();
        rightPane = new JPanel();
        
        button1 = new JButton("Button1");
        button2 = new JButton("Button2");
        button3 = new JButton("Button3");

        mainPane.setLayout(new BorderLayout());

        mainPane.add(leftPane, BorderLayout.WEST);
        mainPane.add(centerPane);
        mainPane.add(rightPane, BorderLayout.EAST);

        leftPane.add(button1);
        leftPane.add(button2);

        centerPane.add(new JLabel("Mitte"));

        rightPane.add(button3);

        setContentPane(mainPane);
        pack();
    }
}
 
@Hobbit:

Ich mach das nur so ähnlich, denn da Instanzvariablen eh per default mit null initialisiert sind, brauch ich sie auch nicht null setzen.
 
Wenn die Daten klar sind (Das Datenmodell):

- Skizzen der GUI
- Überlegen welche Komponenten sinnvoll sind
- evtl. eigene Komponenten entwickeln

Funktionalität komplett raus lassen. Erstmal die GUI und wenn die soweit fertig ist die Logik reinbauen.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben