ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
370
370
EMPFEHLEN
-
Hallo!
Meine Frage bezieht sich hauptsächlich auf das Design. Wohin mit einer ErrorMessage.
Folgendes Bild - Ein JPanel mit folgendem Aufbau:
/--------------------------\
| -Label- -JTextField- |
| -Label- -JTextField- |
| |
| -Abort- -Save- |
\--------------------------/
Ein Dialog wo etwas eingegeben werden kann.
Mit dem klick auf den Save-Button wird die Eingabe überprüft.
Falls richtig gehts weiter, falls falsch soll der User informiert werden dass die Eingabe falsch ist.
Dies möchte ich aber nicht mit einem extra jdialog machen den der User dann wegklicken muss, sondern ich hätte gern etwas wie einen jtoolTip der als Error Dient.
Also man drückt auf den save-Button, wenn die Eingabe falsch ist, dann kommt über dem JTextField ein roter ToolTip der die ErrorMessage enthält, und so lange bleibt bis der User die Eingabe im Feld ändert.
Oder fällt jemanden eine bessere Lösung zur Error-Darstellung ein?
Das JPanel vergrößern damit man rechts neben dem JTextField ein Label hingeben kann finde ich auch nicht schön, da dann das JPanel am Anfang komisch aussehen würde.
Vielen Dank
-
24.01.12 11:38 #2
Hi,
wie wäre es denn mit einer Statusbar? Da kannst du alle Messages - ob gut oder schlecht - anzeigen lassen.
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
Eine Statusbar ist nur so breit wie das Fenster an sich. Und dies bietet dann nicht genügend Platz um alle Fehlermeldung auszugeben.
Mache ich die Statusbar so hoch damit sich alles ausgeht, ist wieder das Problem dass am Anfang der Bereich leer ist und es blöd aussieht.
-
24.01.12 13:38 #4
Du kannst die Statusbar so hoch machen, dass eine Zeile Text rein passt. Sollte der Text mehrere Zeilen haben, kann dieser - z.B. via Mouseover-effekt - im Tooltip angezeigt werden.
Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
Ich hab mich nun dazu entschieden mit Icons zu arbeiten.
Folgender Aufbau
Label(zb Datum: | Textfield(Eingabe) | Label(icon)
Das icon am schluss soll anzeigen ob die Eingabe korrekt ist oder nicht.
Wenn man aber ein Label mit nur einem Icon macht(ohne Text) dann pickt es ganz oben.
Gibt man aber text hinzu, ist es in der vertikal-Achse zentriert.
Wieso ist das so. Und wie kann man es ändern?
Edit: Kann es am Layout liegen?
Hier der Code vom Layout:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
groupLayout.setHorizontalGroup(groupLayout.createSequentialGroup() .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(datum_Label) .addComponent(usPreis_Label) .addComponent(euroPreis_Label) .addComponent(bestellteMenge_Label)) .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(datum_Input, inputFieldWidth, inputFieldWidth, inputFieldWidth) .addComponent(usPreis_Input) .addComponent(euroPreis_Input) .addComponent(bestellteMenge_Input)) .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(datum_Error) .addComponent(usPreis_Error) .addComponent(euroPreis_Error) .addComponent(bestellteMenge_Error) ) ); groupLayout.setVerticalGroup(groupLayout.createSequentialGroup() .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(datum_Label) .addComponent(datum_Input) .addComponent(datum_Error)) .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(usPreis_Label) .addComponent(usPreis_Input) .addComponent(usPreis_Error)) .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(euroPreis_Label) .addComponent(euroPreis_Input) .addComponent(euroPreis_Error)) .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(bestellteMenge_Label) .addComponent(bestellteMenge_Input) .addComponent(bestellteMenge_Error)) ); groupLayout.linkSize(SwingConstants.HORIZONTAL, datum_Label, usPreis_Label, euroPreis_Label, bestellteMenge_Label); groupLayout.linkSize(SwingConstants.HORIZONTAL, datum_Input, usPreis_Input, euroPreis_Input, bestellteMenge_Input);
Geändert von hesk (25.01.12 um 11:32 Uhr)
-
Folgende Zeilen haben das erwünscht Ergebnis gebracht:
Code java:1 2 3 4
groupLayout.linkSize(SwingConstants.VERTICAL, datum_Label, datum_Input, datum_Error); groupLayout.linkSize(SwingConstants.VERTICAL, usPreis_Label, usPreis_Input, usPreis_Error); groupLayout.linkSize(SwingConstants.VERTICAL, euroPreis_Label, euroPreis_Input, euroPreis_Error); groupLayout.linkSize(SwingConstants.VERTICAL, bestellteMenge_Label, bestellteMenge_Input, bestellteMenge_Error);
Ähnliche Themen
-
JTextField
Von Maddimini im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 26.04.10, 08:55 -
JTextfield einstellungen
Von ChrisHH1983 im Forum Java GrundlagenAntworten: 1Letzter Beitrag: 06.04.09, 09:39 -
JTextField
Von MariusMeier im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 9Letzter Beitrag: 15.03.08, 14:06 -
JTextField
Von dadon511 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 26.03.07, 16:56 -
DnD JTree & JTextField
Von flashOr im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 31.01.06, 12:35





Zitieren
Login





