Layoutfrage

Status
Nicht offen für weitere Antworten.

Spin

Top Contributor
Hey leutz, da ja keiner mehr was mit meinem Thema TabbedPane anfangen möchte ;):lol:

Mach ich nun ein neues auf, mit der Frage , welches Layout ihr hier anwenden würdet.
Immer noch Formular.

Die roten Labels^^ sind natürlich die Fehlerausgabe. Überlege sie noch in ein JOtionPane anzeigen zu lassen inkl . modal natürlich :)

show.php

Kostenloser Bilder Upload Service - Gratis Bilder hochladen / uploaden ohne Anmeldung

Warum gehen die BB's nicht ...

grüße
 

Spin

Top Contributor
Also ich merk schon ^^... die antworten sind mir zu schwammig.

Ihr müsst mir nicht sagen , wie man es initialisiert sondern nur wie man es anwendet ;).
( ne dazu habe ich die api)
Ich möchte eher, dass ihr euere Vorschläge begründet.

Das GridLayout, finde ich auch nicht schlecht.

Aber bekommt man dass genau so hin?
Wenn man dem GridLayout die Werte übergibt: Zeilen, Spalten, VGap, HGap,
bekomme ich immer nur ne komplett gefüllte fläche .

Da sind meine Labels genau so groß wie meine Textfelder usw., was ich ja eigentlich nicht brauche!

Überlege das GridBagLayout anzuwenden , aber es muss doch bischen schneller und einfacher gehen !

Ein kurzer Codeausschnitt:

Java:
/*Breich Name:*/
        name = new JLabel("Name");
        name.setBounds(10,2, 40, 20);
        p2.add(name);
        name1 = new JTextField("");
        name1.setBounds(10, 24, 100, 20);
        p2.add(name1);
        k_name = new JLabel("Bitte");
        k_name.setBounds(10, 46, 200, 20);
        k_name.setForeground(Color.RED);
        k_name.setFont(new Font("Arial",Font.PLAIN,10));
        p2.add(k_name);

        /*Breich Vorame:*/
        vorname = new JLabel("Vorname");
        vorname.setBounds(112,2, 100, 20);
        p2.add(vorname);
        vorname1 = new JTextField("");
        vorname1.setBounds(112, 24, 100, 20);
        p2.add(vorname1);
        k_vorname = new JLabel("vorname");
        k_vorname.setBounds(112, 46, 200, 20);
        k_vorname.setForeground(Color.RED);
        k_vorname.setFont(new Font("Arial",Font.PLAIN,10));
        p2.add(k_vorname);


Mit setBounds gehts natürlich....:toll:
 

sliwalker

Top Contributor
Hi,

um nicht alle Optionen zu den Komponenten für alle Komponenten einzeln setzen zu müssen, such mal hier im Forum nach UIDefaults.

Ich würde die Eingabefelder untereinander platzieren und das GridLayout bzw. GridBagLayout verwenden. (subjektiv). Oder Du platzierst alles mittel null-Layout und setBounds.
Fehlerlabels könnten dann schön rechts daneben.

Von OptionPanes rate ich in Deinem Fall ab als Fehlermeldung. Je nachdem wie Du es umsetzt, bekommt der User 5 Meldungen hinteinander. Ein Grund für mich das Programmm zu schließen.
 

Spin

Top Contributor
Ok vielen dank, dass mach ich denn jetzt mal .


Nochmal ne ganz andere Frage.

Ich habe folgendes Problem.

Man stelle sich eine volle Liste vor, mit 5 werten. Wenn ich nun alle 5 entferne ist ja meine liste leer.

Das heißt :

ListModel ...isEmpty().

Soweit sogut. Aber nun möchte ich gerne dass mein Frame , dass selbst bemerkt. Das heißt: er soll nicht auf isEmpty nach Buttondruck oder Ereignisslistener reagieren.

Sondern automatisch. Brauch ich dazu nen Thread, der über mein Programm läuft und so einige sachen automatisch aufruft.?


Bis her habe ich alle aktionen , entweder schon im Konstruktor initialisieren lassen, quasie beim Programmstart, oder halt nach tasten , Maus druck.

Nun möchte ich aber, dass die sachen automatisch gehen?

Mag mir einer ein tip geben , danke .):)
 

diggaa1984

Top Contributor
Wenn ich nun alle 5 entferne ist ja meine liste leer.

warum passt dir da eine ereignisbasierte reaktion nicht!? ISt doch ganz angebracht finde ich. klar prüfst vielleicht jedesmal wenn du ein item löscht ob nun liste leer, aber ein thread der das untersucht is noch ineffektiver.
 

Marco13

Top Contributor
Vielleicht sind auch die Fragen zu schwammig - "Ereignisslistener" - man kann einen ListDataListener (Java 2 Platform SE v1.4.2) an sein ListModel hängen, dann kriegt man das mit.

Und zum Layout: Das sah so "regelmäßig" aus, deswegen hatte ich an GridLayout gedacht. Mal' ggf. mal auf, wie du es dir verostellst. Notfalls kann man mit GridBagLayout arbeiten, aber stimmt schon, das ist unhandlich...
 
Status
Nicht offen für weitere Antworten.

Oben