Hallo Leute ich habe ein Problem mit dem GridBagLayout.
Ich habe einen Container als Border Layout.
Im Norden habe ich ein Panel eingefügt, dass ich als GridBagLayout verwenden möchte.
So sieht erstmal der Kopf aus:
Dann habe ich eine Methode die extern einen Text übergibt.
Wenn ich in dieser Methode die Eigenschaften des GridBagLayouts anwende und später dann in meiner
Layout() Klasse nochmal - ergeben sich verschiebungen.
Gibt es eine möglichkeit, dass ich in meiner Layout Klasse siehe unten die Variable lblTitle benutze ??
oder kann ich die Variable nur in dieser Methode benutzen??
Hier weiter unten:
Mein Label Title wird garnicht angezeigt weil nicht auf die Methode zugegriffen werden kann. Der zweite Label wird angezeigt.
Wenn ich jetzt alles bis zum zweiten Teil in meine Methode packe, dann verhält sich das Layout komisch. Alles verschiebt sich.....
Wäre euch für Hilfe sehr dankbar
Ich habe einen Container als Border Layout.
Im Norden habe ich ein Panel eingefügt, dass ich als GridBagLayout verwenden möchte.
So sieht erstmal der Kopf aus:
Java:
public abstract class Layout extends JFrame{
protected Container c = getContentPane(); //Referenz auf den Container bestimmen
protected JPanel pnlText = new JPanel();
protected lblColor lblAirline = new lblColor("Individual Airline", Color.red, null, "tip"); //externe Klasse
protected GridBagLayout gbl = new GridBagLayout();
protected GridBagConstraints gbc = new GridBagConstraints(); //Objekt erstellen
public JLabel lblTitle = new JLabel();
Dann habe ich eine Methode die extern einen Text übergibt.
Wenn ich in dieser Methode die Eigenschaften des GridBagLayouts anwende und später dann in meiner
Layout() Klasse nochmal - ergeben sich verschiebungen.
Gibt es eine möglichkeit, dass ich in meiner Layout Klasse siehe unten die Variable lblTitle benutze ??
oder kann ich die Variable nur in dieser Methode benutzen??
Java:
public void setTitleText(String TitleText) {
lblTitle = new lblColor(TitleText, Color.white, null, "Tip");
lblTitle.setFont(new Font("SansSerif", Font.PLAIN,18));
}
Hier weiter unten:
Mein Label Title wird garnicht angezeigt weil nicht auf die Methode zugegriffen werden kann. Der zweite Label wird angezeigt.
Wenn ich jetzt alles bis zum zweiten Teil in meine Methode packe, dann verhält sich das Layout komisch. Alles verschiebt sich.....
Java:
public Layout() {
/*
* Einstellen der Constraints und
* Hinzufügen der Objekte
*/
//Label Title:
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.gridheight = 1;
gbc.weightx = 1;
gbc.weighty = 1;
gbc.anchor = GridBagConstraints.LINE_START;
//Konstruktor Insets: oben, links, unten, rechts
gbc.insets = new Insets(0,0,10,0);
gbl.setConstraints(lblTitle, gbc);
pnlText.add(lblTitle);
c.setLayout(new BorderLayout());
pnlText.setLayout(gbl);
c.add(pnlText, BorderLayout.NORTH);
//Zweites Label (funktioniert)
gbc.gridwidth = 1;
gbc.anchor = GridBagConstraints.LINE_END;
gbc.insets = new Insets(00,100,0,0);
JLabel label = new JLabel("Fahrzeugtyp:");
gbl.setConstraints(label, gbc);
pnlText.add(label);
}
}
Wäre euch für Hilfe sehr dankbar
Zuletzt bearbeitet: