LayoutManager kombinieren

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,
ich habe eine Formular mit dem Gridbaglayout erstellt. Im wesentlichen sind das auf der linken Seite Label Elemente und auf der rechten Seite TextFelder. Nun würde ich noch gerne ein paar Buttons hinzufügen.
Ich habe bisher immer das Borderlayout verwendet und den Content in den Center Bereich gestellt und die Buttons in den South Bereich (Über ein separates JPanel). Meine Frage: ist es Möglich die LayoutManager so zu kombinieren, dass ich zB ein BorderLayout verwende, in den Center Bereich ein Gridbaglayout mache und in den South Bereich ein Button Panel?
 
R

Roar

Gast
ja das geht

edit: hättest aber auch einfahc ausprobiern können ???:L
 
G

Guest

Gast
Hallo,
irgendwie krieg ichs nicht hin:

Code:
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.*;

public class LayoutManager extends JFrame implements ActionListener{
	
	private JLabel lblTest = new JLabel("Test");
	private JTextField txtTest = new JTextField(10);
	
	public LayoutManager(){
		
		// -------------------------- GridBagLayout -----------------------------------------------
		
		GridBagLayout gbl = new GridBagLayout();
		GridBagConstraints gbc;
		setLayout(gbl);
		
		gbc = makegbc(0, 0, 1, 1);
		gbc.fill = GridBagConstraints.NONE;
		gbl.setConstraints(lblTest, gbc);
		add(lblTest);
		//Textfeld
		gbc = makegbc(1, 0, 1, 1);
		gbc.weightx = 100;
		gbc.fill = GridBagConstraints.HORIZONTAL;
		gbl.setConstraints(txtTest, gbc);
		add(txtTest);	
		
		pack();
		
		// -------------------------- BorderLayout ---------------------------------------------------
		
		JPanel TextFieldPanel = new JPanel();
		JPanel ButtonPanel = new JPanel();
		
	    TextFieldPanel.setBorder(BorderFactory.createEtchedBorder()); 
	    ButtonPanel.setBorder(BorderFactory.createEtchedBorder()); 
	    
	    TextFieldPanel.add(lblTest);
	    TextFieldPanel.add(txtTest);  
	    
	    getContentPane().add(TextFieldPanel, BorderLayout.CENTER); 
	    
	    JButton btnClose = new JButton("schließen");
	    btnClose.addActionListener(this);   
	     
	    ButtonPanel.add(btnClose);    
	     
	    ButtonPanel.setBorder(BorderFactory.createEtchedBorder()); 
	    getContentPane().add(ButtonPanel, BorderLayout.SOUTH);
	}
	
	private GridBagConstraints makegbc(
			    int x, int y, int width, int height)
			  {
			    GridBagConstraints gbc = new GridBagConstraints();
			    gbc.gridx = x;
			    gbc.gridy = y;
			    gbc.gridwidth = width;
			    gbc.gridheight = height;
			    gbc.insets = new Insets(1, 1, 1, 1);
			    return gbc;
			  }
	//actionPerformed
	public void actionPerformed (ActionEvent e) {
			
		String cmd = e.getActionCommand();
		
		//System.out.println(cmd);

		if (cmd.equals("schließen")){
			
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		LayoutManager fenster = new LayoutManager();
	}

}

Ich erhalte die Fehlermeldung:

Exception in thread "main" java.lang.IllegalArgumentException: cannot add to layout: constraints must be a GridBagConstraint
at java.awt.GridBagLayout.addLayoutComponent(Unknown Source)
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at LayoutManager.<init>(LayoutManager.java:54)
at LayoutManager.main(LayoutManager.java:89)

Kann mir jemand sagen, wie ich das GridBagLayout ans JPanel 'TextFieldPanel' binden kann?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Breite von Textfeldern trotz Layoutmanager Java Basics - Anfänger-Themen 4
T LayoutManager für Spiele Java Basics - Anfänger-Themen 2
D Methoden Implementieren von einer Zoomfunktion innerhalb eines JPanels mit null-Layoutmanager Java Basics - Anfänger-Themen 1
D 2 Fragen: Position ändern vs. LayoutManager / Bilder einfügen im Vordergrund Java Basics - Anfänger-Themen 3
D Grösse eines JPanel hinsichtlich LayoutManager festlegen Java Basics - Anfänger-Themen 4
M Suche den passenden LayoutManager Java Basics - Anfänger-Themen 4
I eigener "Abstandshalter" vs. LayoutManager Java Basics - Anfänger-Themen 6
J Welchen Layoutmanager nehmen? Java Basics - Anfänger-Themen 4
P Java LayoutManager... Java Basics - Anfänger-Themen 3
A Hilfe mit LayoutManager, Applet zu Applikation umwandeln Java Basics - Anfänger-Themen 13
A RadioButtons in LayoutManager Java Basics - Anfänger-Themen 6
G JLabel mittig ohne LayoutManager Java Basics - Anfänger-Themen 2
kulturfenster jar und LayoutManager Java Basics - Anfänger-Themen 5
G Welchen Layoutmanager verwenden? Java Basics - Anfänger-Themen 7
B Komponenten im LayoutManager zentrieren Java Basics - Anfänger-Themen 5
B LayoutManager Anorden von verschiedenen JPanels Java Basics - Anfänger-Themen 5
J Mit welchem LayoutManager Problem lösen? Java Basics - Anfänger-Themen 2
C Layoutmanager richtig verwenden? Java Basics - Anfänger-Themen 9
R LayoutManager Problem Java Basics - Anfänger-Themen 2
T Hilfe bei LayoutManager-Verschachtelung Java Basics - Anfänger-Themen 3
S LayoutManager Java Basics - Anfänger-Themen 15
S welchen layoutmanager Java Basics - Anfänger-Themen 9
G JTable ohne LayoutManager Java Basics - Anfänger-Themen 3
B Mit dem Layoutmanager die Buttongrösse bestimmen Java Basics - Anfänger-Themen 5
B If Bedingungen kombinieren? Java Basics - Anfänger-Themen 5
I JPA / Hibernate "Predicate" kombinieren in der gleichen Query Java Basics - Anfänger-Themen 1
I Java Klassen "Graphics" und "MouseEvent" kombinieren Java Basics - Anfänger-Themen 7
A Arrays kombinieren (länge eines Arrays kann 0 sein) Java Basics - Anfänger-Themen 6
C Zwei Integer Arrays "kombinieren" Java Basics - Anfänger-Themen 10
G 2 Listen kombinieren und nach abc sortieren Java Basics - Anfänger-Themen 9
D jtable renderer und sortieren kombinieren Java Basics - Anfänger-Themen 3
N String kombinieren - Methode Java Basics - Anfänger-Themen 5
B Erste Schritte Strings kombinieren Java Basics - Anfänger-Themen 10
J Switch mit if anweisung kombinieren Java Basics - Anfänger-Themen 2
D Kann man eine for-Schleife mit switch kombinieren? Java Basics - Anfänger-Themen 8
S Print Methode zweier "Classes" kombinieren Java Basics - Anfänger-Themen 2
S Variablen kombinieren Java Basics - Anfänger-Themen 5
S Rechtecke zu moeglichst groesseren Rechtecken kombinieren? Java Basics - Anfänger-Themen 7
T 2 Klassen kombinieren Java Basics - Anfänger-Themen 6
F 4 STrings in allen Kombinationen miteinander kombinieren Java Basics - Anfänger-Themen 2
D Algorithmus, beliebige Anzahl doubles kombinieren Java Basics - Anfänger-Themen 7
D Brauche Hilfe: Funktion zum Kombinieren von Werten Java Basics - Anfänger-Themen 5
S Botton und Image kombinieren Java Basics - Anfänger-Themen 3
G zwei if's und Ausgabe kombinieren Java Basics - Anfänger-Themen 3
H Thread mit AWT-Oberfläche kombinieren Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben