newbie: GUI Aufbau

one2web

Neues Mitglied
Hallo liebe Formgemeinde,

ich bin Java newbie und z.Zt. viel am Lesen und Probieren...

Enden soll das ganze dann in einer kleinen DB-Applikation. Was einfaches zum Ueben und um Java zu erlernen und zu vertiefen...

Ganz prinzipiell bieten ja die Einsteigerbuecher zu Java eine gaze Menge, dennoch bleiben vielen Fragen, gerade wenn es zu einem (kleinen) Gesamtprojekt kommt, offen!

Fragen an die erfahrenen Java-Programmierer sind dann also vorprogrammiert...
Daher mein Weg in das Forum :)

Allgemein:
Üblicherweise startet eine DB-Anwendung mit einem Login-Fenster, in dem die Login Daten eingetragen werden. Nach erfolgreicher Authentifikation öffnet sich dann das Hauptfenster. Und hier kommen dann meine Fragen:

- Bei dem Klick auf Login in dem Login-Fenster... kommt dann in den ActionHandler des Login-Buttons dann die Methode zum DB-Aufbau, oder wie wird das am geschicktesten gemacht???

Dann zum Hauptfenster: Ich stelle mir die Haupt GUI so vor, dass ich auf der linken Seite eine Art Navigationsbereich habe mit Icons. Auf der rechten Seite dann je nach dem, wo ich mich befinde andere Informationen bzw. Formularfelder habe. Sind das links wie rechts verschiedene Panels, oder wie wird das gemacht?

Dann, beim Anlegen von Datensätzen bzw. Änderungen von Datensätzen werden ja verschiedene SQL-Statements an die DB gesendet. Muss dann jedes mal erst die DB-Verbindung neu aufgebaut werden?

Danke für die Beantwortung meiner vielen Fragen :)
 

Dukel

Top Contributor
Wie du deine Gui aufbaust ist beliebig. Es gibt unterschiedliche Best Practices oder Vorschläge.
Je nach Authentifizierung kann dies direkt beim Login bestehen und es gibt keine Anmelde Maske.

Schau dir einfach mal ähnliche Programme an, wie deren Guis aufgebaut sind.

Wegen der DB Verbindungen.
Normalerweise müssen keine Verbindung für jede Anfrage neu aufgebaut werden. Das erhöht auch den Overhead. Wichtig ist aber dass in dem Fall die Verbindung überprüft wird und Fehler abgefangen werden, wenn z.B. die DB Verbindung abreist.
 

Joose

Top Contributor
Wie dein UI ausschaut bleibt ganz dir überlassen. Natürlich sollte es Userfreundlich sein ;)
Ob mit oder ohne Login-Fenster ist auch, außerdem kann diese im nachhinein immer noch einfach eingebaut werden.

Zur Datenbankverbindung:
Normalerweise müssen keine Verbindung für jede Anfrage neu aufgebaut werden. Das erhöht auch den Overhead. Wichtig ist aber dass in dem Fall die Verbindung überprüft wird und Fehler abgefangen werden, wenn z.B. die DB Verbindung abreist.

Aber es ist auch nicht sinnvoll eine Datenbankverbindung von Start des Programmes bis zum Beenden des Programmes offen zu halten! Mehrere SQL Transaktionen kann man immer zu einem logischen Arbeitsschritt zusammenfassen (Stichwort: UnitOfWork).
Beispiel Onlineshop: Jemand legt einige Artikel in seinen Warenkorb. Sobald er diese bezahlt wird in der Datenbank eine Eintrag für die Bestellung angelegt, im selben Arbeitschritt sollten auch die Lagerbestände der Artikel angepasst werden. Dazu werden mehrere SQL Statements gebraucht, alle werden mit der gleichen Connection (und in der gleichen Transaktion) abgewickelt.
 

Saheeda

Top Contributor
In den Actionhandler des Login-Buttons kommt auch keine DB-Verbindung. Ich würde mir dafür eine eigene Klasse schreiben, die nur fürs Validieren der Nutzerdaten zuständig ist. (SecurityService) Dann gäbe es noch eine Klasse Connecter, die das von Joose Beschriebene macht. Der SecurityService greift über den Connecter auf die DB zu und validiert, ob die Daten korrekt waren. Sorry für den etwas stenohaften Stil, bin mitm Handy online.
 

Dukel

Top Contributor
Wann die DB Verbindung auf und abgebaut wird kommt auf die Anforderungen und Umgebung an.
Bei dem einen Programm kann es sinnvoll sein vor und nach jeder Abfrage die Verbindung auf und abzubauen, bei einem anderen Programm kann man dies beim Start aufbauen und am ende abbauen.

Nur wegen Transaktionen muss man nicht seine DB vor und nach der Arbeit aufbauen und beenden. Man kann diese ruhig länger auflassen. Aber wie gesagt, Anforderungen definieren. Es gibt Datenbanken, bei denen ist es teurer Verbindungen auf und abzubauen als diese länger ungenutzt offen zu lassen und bei anderen ist es gerade anders herum.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J [Newbie] addSeparator() (von JGoodies) mit Icon versehen AWT, Swing, JavaFX & SWT 2
J [Newbie] Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 2
2 Newbie in Java - java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 3
G [Newbie] AWT, Swing oder SWT lernen AWT, Swing, JavaFX & SWT 6
T JavaFX Falscher Wert getLayoutBounds? + Tipps zum Code-Aufbau? AWT, Swing, JavaFX & SWT 8
K JavaFX Allgemeine Fragen zu dem Aufbau eines Programms hinsichtlich der Klassen AWT, Swing, JavaFX & SWT 1
L Dynamischer Aufbau einer Tabelle über Objekte AWT, Swing, JavaFX & SWT 2
O Swing Aufbau eines JFrames AWT, Swing, JavaFX & SWT 2
dzim JavaFX Aufbau eurer Anwendungen AWT, Swing, JavaFX & SWT 0
T Aufbau einer Seite AWT, Swing, JavaFX & SWT 18
B GUI-Aufbau nach eingelesener XML AWT, Swing, JavaFX & SWT 4
J Swing neuer Aufbau des Frames nach Click AWT, Swing, JavaFX & SWT 8
E Swing GUI aufbau abwarten? AWT, Swing, JavaFX & SWT 3
H Grundwissen zum GUI Aufbau AWT, Swing, JavaFX & SWT 10
D Swing Frage zum aufbau eines Programms AWT, Swing, JavaFX & SWT 24
T Aufbau einer komplexen GUI AWT, Swing, JavaFX & SWT 8
S Beim Aufbau GUI: java.lang.IllegalAccessError in javax.swing AWT, Swing, JavaFX & SWT 6
S bei JFrame aufbau ein JProgressMonitor AWT, Swing, JavaFX & SWT 5
S Aufbau Damebrett AWT, Swing, JavaFX & SWT 2
S Aufbau mehrerer verschiedener grafischer Oberflächen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben