fehlende spalte bei gridbaglayout

Status
Nicht offen für weitere Antworten.

skaal

Mitglied
ich habe einen dialog, bei dem ich jetzt noch einen button zum abbrechen zufügen wollte, der erscheint aber nicht.
hier der code:

Code:
public class LoginDialog extends JDialog {

    private GridBagLayout gbl = new GridBagLayout();
    private GridBagConstraints gbc = new GridBagConstraints();
    private JTextField tf_name = new JTextField();
    private JPasswordField pf_pw = new JPasswordField();
    private JButton btn_login = new JButton(ClientMainFrame.getLabel("log")),
                    btn_reg = new JButton(ClientMainFrame.getLabel("reg")),
                    btn_cancel = new JButton(ClientMainFrame.getLabel("cancel"));
    private JLabel lbl_name = new JLabel(ClientMainFrame.getLabel("name")),
                   lbl_pw = new JLabel(ClientMainFrame.getLabel("pw"));

    private CommandProcessor server ;

  public LoginDialog ( final Frame frame,
                       final String title,
                       CommandProcessor s ) {
    super(frame,title,true);
    setSize(300,100);
    setResizable(false);
    setLocation(300,200);
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    });
    getContentPane().setLayout(gbl);

    server = s;

    //set layout components gbl and gbc to reference value
    gbc.fill = GridBagConstraints.BOTH;
    gbc.gridx = GridBagConstraints.RELATIVE;
    gbc.gridy = GridBagConstraints.RELATIVE;
    gbc.weightx = 1.0;
    gbc.weighty = 1.0;
    gbc.gridwidth = GridBagConstraints.RELATIVE;
    gbc.gridheight = 1;

    //configure components
    gbl.setConstraints(lbl_name,gbc);
    getContentPane().add(lbl_name);
     gbc.gridwidth = GridBagConstraints.REMAINDER;
    gbc.weightx = 3.0;
    gbl.setConstraints(tf_name,gbc);
    getContentPane().add(tf_name);
    gbc.weightx = 1.0;
    gbc.gridwidth = GridBagConstraints.RELATIVE;
    gbc.weightx = 1.0;
    gbl.setConstraints(lbl_pw,gbc);
    getContentPane().add(lbl_pw);
    gbc.gridwidth = GridBagConstraints.REMAINDER;
    gbc.weightx = 3.0;
    gbl.setConstraints(pf_pw,gbc);
    getContentPane().add(pf_pw);
    gbc.gridwidth = GridBagConstraints.RELATIVE;
    gbc.weightx = 1.0;
    gbl.setConstraints(btn_login,gbc);
    getContentPane().add(btn_login);
    gbl.setConstraints(btn_reg,gbc);
    getContentPane().add(btn_reg);
    gbc.gridwidth = GridBagConstraints.REMAINDER;
    gbl.setConstraints(btn_cancel,gbc);
    getContentPane().add(btn_cancel);
  }
}

kann mir jemand sagen, woran das liegt?
ich habe das problem allerdings noch in einem etwas größeren rahmen. dort befinden sich einige komponenten einfach außerhalb des dialogs (man sieht noch einen ganz kleinen teil vom ihnen, daher weiß ich das).
das ganze läuft noch auf java 1.4.2.
 

abollm

Top Contributor
Das dürfte schwierig sein, ohne die notwendigen Klassen (z.B.ClientMainFrame, CommandProcessor).
 
B

Beni

Gast
1. Du musst für jede Component noch gridx, gridy, gridwidth und gridheight setzen. Diese 4 Werte geben nämlich an, wo die Component zu liegen kommt.

2. Für jede Component brauchst du eine eigene Instanz von GridBagConstraints, also müssen noch ein paar "new..." hin.

3. du kannst auch "add( component, gridBagConstraints)" verwenden, dann musst du nicht "setConstraints" aufrufen, und die Gefahr einer Verwechslung von Componenten ist auch geringer :wink:
 

skaal

Mitglied
zu 1: die sind eigentlich angegeben, zumal gridheight immer eins sein soll und gridwidth ständig verändert wird.

zu 2: es ist immer eine eigene instanz da. dass das immer die selbe mit aktualisierten werten ist, sollte keine rolle spielen.

und das immer alles neu zu konstruieren sit so verdammt aufwendig. zumal ich das per hand schreibe...
 
B

Beni

Gast
Zu 1: Ja schon, nur gibts du immer dieselben Koordinaten an. das ist so, wie wenn du mehrere Blätter Papier übereinanderlegst, das unterste ist nicht mehr gut lesbar...

Zu 2: Sorry, da hab ich mich geirrt. Das GridBagLayout erstellt ja eine Kopie der Constraints.
 

skaal

Mitglied
dafür sind ja gridx und gridy auf RELATIVE gesetzt. das hat bisher immer funktioniert.
aber nur bisher.
wenn ich es mit dem editor alles aufgedröselt mache, geht es so wie es soll. der produziert nur immer so grausamen code, den man nicht mehr lesen kann...

danke. jetzt hab ich mal einen grund mich damit auseinanderzusetzen.
 

skaal

Mitglied
ich hab es jetzt hinbekommen ohne immer ein neues objekt anzulegen.

falls die lösung jemanden interessiert (und weil ich keinen blassen schimmer habe, wo jetzt der unterschied liegt):
ich kann gridx und gridy auf RELATIVE belassen. ich muss nur statt gridwidth = RELATIVE gridwidth = 1 nehmen.
???:L keine ahnung wo der unterschied liegt.
 
B

Beni

Gast
Dieses GridBagLayout kann ja noch mehr als ich dachte, ich setz mich wohl besser wieder hinter die API...

Sorry für die verwirrende "Hilfe" skaal :roll:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JavaFX Fehlende JavaFX Package AWT, Swing, JavaFX & SWT 10
A Fehlende Designansicht AWT, Swing, JavaFX & SWT 2
SuperSeppel13 Swing Fehlende Komponenten unter Mac OS X AWT, Swing, JavaFX & SWT 8
C JTable fehlende Daten AWT, Swing, JavaFX & SWT 2
missy72 JavaFX TableView Spalte zwischen den Zeilen AWT, Swing, JavaFX & SWT 5
H Swing Jtable extra spalte AWT, Swing, JavaFX & SWT 6
G JavaFX TableView Wert in Spalte ändern AWT, Swing, JavaFX & SWT 0
N Warum ist die Spalte weg? AWT, Swing, JavaFX & SWT 61
L JavaFX TableView mit Attributs der Modellreferenzerierung für die Spalte AWT, Swing, JavaFX & SWT 3
M JavaFX TableView nach Spalte sortieren AWT, Swing, JavaFX & SWT 1
J JTable filtern nach einer Spalte AWT, Swing, JavaFX & SWT 2
G JTable als fixierte Spalte in Scrollpane scrollt nicht mit... AWT, Swing, JavaFX & SWT 1
L Zwei String Array in eine Spalte einfügen AWT, Swing, JavaFX & SWT 1
Bartertown JTable - Verschiedene Komponenten in einer Spalte unterbringen AWT, Swing, JavaFX & SWT 3
S Swing JTable zusätzliche Spalte mit einer Checkbox einfügen AWT, Swing, JavaFX & SWT 7
T SWT Table (mit Spinner Spalte) Daten auslesen AWT, Swing, JavaFX & SWT 4
L Swing Button in GridBackLayout positionieren und TitleBorder pro Spalte hinzufügen AWT, Swing, JavaFX & SWT 9
P Swing Alle Zeilen einer Spalte (jTable) zusammen zählen und in eine eigene Zeile das Ergebnis schreiben. AWT, Swing, JavaFX & SWT 7
S JTable Spalte "normale" Breite? AWT, Swing, JavaFX & SWT 5
X Icons in einer Spalte darstellen AWT, Swing, JavaFX & SWT 6
F JTable soll mit Buttons befüllt werden, aber nicht in jede Zelle einer Spalte AWT, Swing, JavaFX & SWT 3
GianaSisters Swing ComboBox im jTable (in bestimmter Zelle nicht über die ganze Spalte) AWT, Swing, JavaFX & SWT 4
B Swing DefaultTableModel, Checkbox in Spalte AWT, Swing, JavaFX & SWT 4
L Action listener in bestimmter spalte AWT, Swing, JavaFX & SWT 2
N Swing JTable: Objekttyp einer Spalte nachträglich ändern AWT, Swing, JavaFX & SWT 6
R JTree - Spalte aufklappen AWT, Swing, JavaFX & SWT 2
A Swing Spalte in JTable ausblenden AWT, Swing, JavaFX & SWT 4
M JList von Beginn an sortiert nach Spalte ohne Klick? AWT, Swing, JavaFX & SWT 2
A Tabellen Spalte löschen AWT, Swing, JavaFX & SWT 6
T JTable mit Renderer sortiert die gerenderte Spalte nicht richtig AWT, Swing, JavaFX & SWT 2
F Swing J(X)Table Spalten umsortieren NUR im View (Wie finde ich eine Spalte nach Name?) AWT, Swing, JavaFX & SWT 3
E Spalte in JTable löschen AWT, Swing, JavaFX & SWT 4
B JTable, Spalte nicht verschiebbar AWT, Swing, JavaFX & SWT 2
R JTable immer nur die letzte Spalte markiert.... AWT, Swing, JavaFX & SWT 4
S Swing JTable: in erster Spalte Image darstellen AWT, Swing, JavaFX & SWT 30
slawaweis JXTreeTable, jede Spalte einzeln scrollbar machen? AWT, Swing, JavaFX & SWT 2
T JTable - Einzelne Spalte nicht sortieren? AWT, Swing, JavaFX & SWT 2
V JTable: Sortierung einer Spalte zum Programmstart? AWT, Swing, JavaFX & SWT 3
G JTable warten bis Spalte verschoben wurde AWT, Swing, JavaFX & SWT 2
R JTable: Zellen einer Spalte unterschiedlich befüllen AWT, Swing, JavaFX & SWT 2
G JTable in Spalte von anderer JTable nicht editierbar AWT, Swing, JavaFX & SWT 7
G Alle Werte einer Spalte in JTable zusammenrechnen AWT, Swing, JavaFX & SWT 2
N Gridlayout 2. Spalte füllen AWT, Swing, JavaFX & SWT 4
I SWT Größe einer Tabellenzeile, -spalte ändern AWT, Swing, JavaFX & SWT 8
J in JTable ganze Spalte editierbar machen AWT, Swing, JavaFX & SWT 17
J JTable ganze Spalte sperren AWT, Swing, JavaFX & SWT 6
C Spalte aus JTable löschen AWT, Swing, JavaFX & SWT 8
mabe83 Kontinuierlich verbleibende Zeit in JTable Spalte anzeigen AWT, Swing, JavaFX & SWT 2
mabe83 Swing: jTableCellRenderer -> Klappt nur bei String-Spalte AWT, Swing, JavaFX & SWT 2
P JTable:Sortierung nach der Zeit/Spalte mit Calendar-Objekten AWT, Swing, JavaFX & SWT 2
D JTable 1. Spalte fixieren AWT, Swing, JavaFX & SWT 3
E JTable nur die erste Spalte auswählbar? AWT, Swing, JavaFX & SWT 4
A Icon,zentriert,Farbiger Text alles in einer Tabelle/Spalte ? AWT, Swing, JavaFX & SWT 4
B JTable - Wechsel der Spalte bei TAB, RETURN oder Maus AWT, Swing, JavaFX & SWT 5
S Hintergrundfarbe in einer Spalte der JTable verändern AWT, Swing, JavaFX & SWT 3
A JTable: Zeit in Spalte ausgeben AWT, Swing, JavaFX & SWT 2
F JTable Spalte sortieren mit lauter JComboboxen ? AWT, Swing, JavaFX & SWT 15
W Spalte einer Tabelle as nicht editierbar setzen - wie ? AWT, Swing, JavaFX & SWT 2
S Checkbox oder String in JTable-Spalte AWT, Swing, JavaFX & SWT 4
U JTable Position der Spalte abfragen AWT, Swing, JavaFX & SWT 7
W Wie setz ich beim TableRowSorter die zu sortierende Spalte AWT, Swing, JavaFX & SWT 4
C MouseListener für Spalte eines JTables AWT, Swing, JavaFX & SWT 4
D GridLayout mit nur einer Spalte, aber n Zeilen AWT, Swing, JavaFX & SWT 2
D GridBagLayout: 2. Spalte auf JPanel-Breite expandieren AWT, Swing, JavaFX & SWT 2
E JTable; Zeilen der ersten Spalte definieren? AWT, Swing, JavaFX & SWT 4
M Spalte mit fortlaufener Zeit AWT, Swing, JavaFX & SWT 6
H JTable Text aus mehreren Zellen in einer Spalte kopieren? AWT, Swing, JavaFX & SWT 3
B Eine Spalte in drei verschiedenlange Spalten aufteilen AWT, Swing, JavaFX & SWT 2
Luma Spalte einer Tabelle ausblenden AWT, Swing, JavaFX & SWT 8
S TableTree - Tree nicht in erster Spalte AWT, Swing, JavaFX & SWT 5
L Falsche Zeile gelöscht nach Spalte Sortierung in JTable AWT, Swing, JavaFX & SWT 2
L JTable (DefaultTableModel) nach Spalte sortieren-TableSorter AWT, Swing, JavaFX & SWT 2
S JTable Spalte hinzufügen AWT, Swing, JavaFX & SWT 3
F Ausrichtung einer Spalte ändern? AWT, Swing, JavaFX & SWT 4
L Erste Spalte eines JTables soll nicht editierbar sein. AWT, Swing, JavaFX & SWT 7
J Spalte in JTable aus- und wieder einblenden AWT, Swing, JavaFX & SWT 10
Student JTable - eine fixe Spalte, der Rest scrollbar AWT, Swing, JavaFX & SWT 18
V JTable mit mehreren Componenten in einer Spalte ? AWT, Swing, JavaFX & SWT 6
D JTable Spalte unsichtbar machen AWT, Swing, JavaFX & SWT 6
S GridBagLayout Felder formatieren AWT, Swing, JavaFX & SWT 1
S GridBagLayout - Probleme mit Bilderanzeige AWT, Swing, JavaFX & SWT 3
C GridbagLayout verstehen lernen AWT, Swing, JavaFX & SWT 1
H GridBagLayout macht mich wahnsinnig :-( AWT, Swing, JavaFX & SWT 5
BabySuna darstellungsprobleme mit JTabbedPane und GridBagLayout AWT, Swing, JavaFX & SWT 8
CptK Positionieren von Elementen in GridBagLayout AWT, Swing, JavaFX & SWT 4
A Probleme mit gridheight (GridBagLayout) AWT, Swing, JavaFX & SWT 6
Mario1409 AWT GridBagLayout AWT, Swing, JavaFX & SWT 5
J LayoutManager GridBagLayout, probleme mit Anordnung von Objekten AWT, Swing, JavaFX & SWT 6
DaCrazyJavaExpert Swing Komponenten in GridBagLayout werden Falsch angeordnet AWT, Swing, JavaFX & SWT 1
T LayoutManager Anordnen der Elemente im GridBagLayout AWT, Swing, JavaFX & SWT 11
K GridBagLayout mit reponsive Design AWT, Swing, JavaFX & SWT 2
K GridBagLayout verändert die größe? AWT, Swing, JavaFX & SWT 1
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
B LayoutManager GridBagLayout und JScrollPane AWT, Swing, JavaFX & SWT 5
T GridBagLayout Anfängerprobleme AWT, Swing, JavaFX & SWT 3
Sin137 LayoutManager GridBagLayout Probleme AWT, Swing, JavaFX & SWT 6
L GridBagLayout Anordnung AWT, Swing, JavaFX & SWT 3
M Gridbaglayout Spaltenbreite AWT, Swing, JavaFX & SWT 3
M LayoutManager GridBagLayout passt seine größe nicht an AWT, Swing, JavaFX & SWT 3
V GridBagLayout AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben