Idee für GUI Programm?

1 Antwort

Was für eine grafische Oberfläche von Interesse sein könnte, müsstest du anhand deinem vorliegenden System ausmachen können bzw. an dessen funktionalen Anforderungen.

Anhand deiner Beschreibung kann ich bisher nur ableiten, dass evt. eine Auflistung aller Schiffe (mit ihren spezifischen Daten) sinnvoll sein könnte. Sofern es Funktionen dafür gibt, um weitere Schiffe zu kaufen oder bestehende Schiffe zu verkaufen, wären dafür zugehörige Buttons möglich.

Oder vielleicht gibt es eine Mitarbeiterverwaltung, die sich auf eine grafische Oberfläche übertragen ließe. Auch hier wäre eine Auflistung praktisch.

Schau also erst:

  • Welche Daten wären für eine Anzeige interessant?
  • Welche Eingaben / Aktionen sollte ein Nutzer vornehmen können?
  • Welche Komponenten eignen sich für die Visualisierung?

In der Java SE ist das Swing-Toolkit fester Bestandteil. Damit kannst du deine grafische Oberfläche zusammenbauen. Eine Auflistung mehrerer Swing-Komponenten findest du hier. Die Links führen auf Artikelseiten, die erklären, wie man die Komponenten einsetzen kann.

anbanden6892 
Fragesteller
 06.02.2022, 10:09

Oke danke, das ist sehr hilfreich. Ich hätte jetzt an sowas wie ein Trinkgeldberechner oder ähnliches zuerst gedacht.

Aber mit den Schiffen zu verkaufen oder kaufen klingt gut. Meine Frage, wie gehe ich da jetzt am besten vor. Also ich hab schon eine Schiffsklasse fertig, mit zugehörigen Methoden und co.

0
regex9  06.02.2022, 18:16
@anbanden6892
Ich hätte jetzt an sowas wie ein Trinkgeldberechner oder ähnliches zuerst gedacht.

Du kennst die Anforderungen an dein Programm, ich nicht. Wenn es also eine Anforderung gibt, Trinkgelder zu berechnen, könnte man das mit einbeziehen.

Meine Frage, wie gehe ich da jetzt am besten vor.

Wie schon geschrieben: Überlege dir erst einmal, welche Darstellungsformen zur Datenrepräsentation geeignet wären (sei es nun eine Liste, eine Tabelle, o.ä.) und welche Elemente du für Nutzereingaben brauchst (Textfelder, Buttons, ...).

Bei der Entwicklung einer Anwendung wäre es vorteilhaft, ein Entwurfsmuster wie das MVC zu nutzen. Das heißt, es gibt drei, möglichst voneinander entkoppelte Bereiche:

  • Die Model-Schicht (das sind deine Schiffsklassen und Weiteres - alles was zur reinen Datenrepräsentation und Anwendungslogik gehört)
  • Die View (der Code für die grafische Oberfläche)
  • Controller (die Bindeglieder zwischen View und Model, zur Verarbeitung von Eingaben)

So lässt sich dein Programm besser/übersichtlicher strukturieren und flexibler gestalten.

Ein praktisches und einfaches Beispiel kannst du hier finden. Statt den Controller das View aktualisieren zu lassen, könntest du übrigens auch einen PropertyChangeListener für die View-Klasse implementieren und dann das Model-Objekt beobachten. Die Datenänderungen erfährt die View über die propertyChange-Methode selbst und kann somit auch darauf reagieren. Lies für eine Implementation hier und hier.

0