Java GUI Architektur für größere Projekte

Ich möchte eine App erstellen, die als Schnittstelle zu mehreren Servern fungiert. Warum: In Web-iface, das standardmäßig bereitgestellt wird (und wir können es nicht ändern), fehlen einige Dinge, einige könnten besser erledigt werden, und die Automatisierung einiger Dinge würde die Arbeit mit Sicherheit erleichtern.

Was habe ich: Fast fertige Klassen für die Kommunikation mit dem Webinterface einer Server-App.

GUI-Beschreibung: Für eine Art von Version 0.1: Textfeld für Benutzername, Optionsfeld zur Auswahl des Servers und ein "go" -Button. Dann mehrere (4-12) Aktionsschaltflächen, um Daten zu bearbeiten, 2x Textbereich mit Ergebnissen, eine Beschriftung mit einigen Textdaten - das kann ich verwalten. Dann muss ich das Datenraster MxN anzeigen, das die Daten lädt, erwartete Größe: 7-15 Spalten, normalerweise 10 Zeilen oder weniger, aber selten kann es über 1 KB gehen (oder sogar mehr, aber ich brauche nicht alle dazu) in diesem Fall für den Benutzer sichtbar sein).

Was ich brauche: einfach einen Rat. Ich möchte mit einer einfachen Version beginnen (und daran arbeite ich bereits, aber ich stecke an zu vielen Dingen fest - 95% cos und absolut neu in der GUI und 5% cos, ich bin neu in Java). Ich habe viele Tutorials überprüft, aber sie sind alle einfach.

Echte Fragen:

1) Überprüfen Sie. In MVC sollte der Controller alle Benutzeraktionen handhaben - wird dies durch die Methode von view durchgeführt, die so etwas wie button.addActionListener (param) ist; anotherButton.addActionListener (paramp; ...?

1b) Ich habe gesehen, dass alles über eine (verschachtelte) Klasse implementiert wurde, die dann die Quelle oder etwas prüfte - ist das in Ordnung? Es wird eine Menge Knöpfe usw. geben.

2) Wie implementiere ich das Datenraster, wenn ich auf click / dbl click Aktionen ausführen muss?

4) Erste Zeile ist Überschrift, der Rest sollte scrollbar sein - sollte es im Raster oder außerhalb sein (eigenes Raster):

4a) So stellen Sie sicher, dass die Größe (Breite) des Headers mit der in den Daten übereinstimmt (ich möchte keine gerade Größe festlegen)

4b) Ich habe bisher nichts Scrollbares erstellt, aber das ist schade, denke ich. Wie kann sichergestellt werden, dass der Header an einer Stelle bleibt und der Rest gescrollt werden kann?

5) Wie soll ein "Datenupdate" durchgeführt werden? Ich habe JPanel, von dem ich die Rasterkomponente entferne und dann eine neue erstelle und Daten hinzufüge (einfach, aber vielleicht gibt es einen anderen Weg). Eine der ersten Verbesserungen wird das Sortieren sein - auf die gleiche Weise, die ich für neue Inhalte verwendet habe?

Vielen Dank für jede Antwort, ich weiß, dass dies nicht sehr spezifisch ist, aber das Beispiel, das ich gefunden habe, ist zu einfach.

Ich plane eine Menge Verbesserungen, aber das ist in der Zukunft und es macht mir nichts aus, GUI / Controller mehrmals zu überarbeiten, zumindest werde ich üben, aber ich möchte keinen Teil des Codes fertigstellen und mir klar werden Ich muss die Hälfte eines Controllers und ein Viertel einer Ansicht neu schreiben, um dies zu ermöglichen.

Hinweis: Ich habe vor, dies bei der Arbeit als mein Werkzeug zu verwenden (wenn die Dinge gut laufen, könnte ich 25-50% meiner Arbeit mit wenigen Klicks machen :-) Also meine ich das wirklich).

Hinweis Nr. 2: Ich bin nicht neu in der Programmierung, aber ich habe noch nie eine GUI erstellt (weshalb ich eine GUI mit Menüleiste mit 2 Elementen und 3 Komponenten habe und beinahe Web-Iface-Verbindungen hergestellt habe).

Note #: 3 Dragable Data Header, Tabbed Data View - das ist der Plan für die Zukunft :-)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage