Swing, Gridbaglayout Panel in Panel;funzt nicht!!

Stream1241

Mitglied
Hallo,

hoffe es ist noch jemand wach der mir Helfen kann, und zwar habe ich ein Frame erstellt
(1024x960), darin habe ich ein Panel(Gridbaglayout) eingefügt welches mehrere Element hat (5) wobei
nur das Mittlere als späteres Arbeitspanel wichtig ist.
Habe alles ausgerichtet das es nach meinen wünschen passt, und möchte in dieses Mittelpanel
ein Element (Jpanel(Gridbaglayout) / ein Bild oder sonstiges) einfügen.
dieses funktioniert zwar, aber der Containerpanel(Mittlerespanel) vergrößert sich, je nachdem wie groß das eizufügende Element ist.
Habe schon den Ganzen Tag probiert das Mittlerepannel irgendwie festzusetzen (setMaxSize oder setPreferredSize oder über ipady und ipady)
aber es funktioniert einfach nicht:-((((;(;(

hier mal meine Codes , ich hoffe es erbarmt sich jemand der mir das Problem erklären kann, bekomme nämlich langsam Hirnlähmung!!:D

Meine Main Klasse
Java:
public class Main_Wokler {

    
	public static void main(String[] args) {
        JFrame frame = new JFrame("WOKLER");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setPreferredSize(new Dimension(1280,970)); 	
        frame.setContentPane(new HintergrundPanel("wok3.jpg"));
        frame.setLayout(new GridBagLayout()); 

        frame.add(Grundpanel.erstelleGP());
 
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setResizable(false);
        frame.setVisible(true);
		}


}

Dann meine Grundpanel Klasse in der ich das Mittlere Panel definiere und Ausrichte:
Java:
public class Grundpanel extends JPanel  {

	GridBagLayout gbl=new GridBagLayout();

	
	public Grundpanel(){
		setLayout(gbl);
		setOpaque(false);
		setPreferredSize(new Dimension(1200, 900));
	    JPanel jpoben=new JPanel();
	    jpoben.setBackground(Color.blue);
	    jpoben.setOpaque(false);
	    JPanel jprechts=new JPanel();
	    jprechts.setBackground(Color.yellow);
	    jprechts.setOpaque(true);
	    JPanel jpunten=new JPanel();
	    jpunten.setBackground(Color.black);
	    jpunten.setOpaque(false);
	    JPanel jplinks=new JPanel();
	    jplinks.setBackground(Color.red);
	    jplinks.setOpaque(true);
	    JPanel jpzentrum=new JPanel();
		jpzentrum.setBackground(new Color(0,59,207));
		jpzentrum.setBorder(new SoftBevelBorder( SoftBevelBorder.RAISED ));
		jpzentrum.setLayout(gbl);
		jpzentrum.setMaximumSize(new Dimension(1000,700));
		
		jpzentrum.add(Testpanel.erstelleTP());

     addGBL(jpoben, 0, 0, 3, 1, GridBagConstraints.BOTH, 1200, 110,new Insets(2, 2, 2, 2));
     addGBL(jprechts, 2, 1, 1, 1, GridBagConstraints.BOTH, 10, 800,new Insets(2, 2, 2, 2));
     addGBL(jpunten, 0, 2, 3, 1, GridBagConstraints.BOTH, 1200,40,new Insets(2, 2, 2, 2));
     addGBL(jplinks, 0, 1, 1, 1, GridBagConstraints.BOTH, 10, 800,new Insets(2, 2, 2, 2));
     addGBL(jpzentrum, 1, 1, 1, 1, GridBagConstraints.BOTH,1180,800,new Insets(2, 2, 2, 2));
     

   }
	public static Component erstelleGP(){
		return new Grundpanel();
	}
	
		public void addGBL(Component f, int gridx, int gridy, int gridwidth, int gridheight,
	            			int fill, double weightx, double weighty, Insets insets){
	        GridBagConstraints c=new GridBagConstraints();
	        c.gridx=gridx;
	        c.gridy=gridy;
	        c.gridheight=gridheight;
	        c.gridwidth=gridwidth;
	        c.fill=fill;
	        c.weightx=weightx;
	        c.weighty=weighty;
	        c.insets=insets;
	        gbl.setConstraints(f, c);
	        add(f);
}
		public void addGBL(ArbeitsPanel f, int gridx, int gridy, int gridwidth, int gridheight,
    			int fill, double weightx, double weighty, Insets insets){
			GridBagConstraints c=new GridBagConstraints();
			c.gridx=gridx;
			c.gridy=gridy;
			c.gridheight=gridheight;
			c.gridwidth=gridwidth;
			c.fill=fill;
			c.weightx=weightx;
			c.weighty=weighty;
			c.insets=insets;
			gbl.setConstraints(f, c);
			add(f);
			}

}

und zum schluss ein Testpanel welches vom Aufbau das selbe ist wie das Grundpanel,
hatte es aber auch schon mit einem Icon auf einem JLabel versucht(gleich Ergebniss,
je größer das Bild desto größer wird mein Mittleres Grundpanel)!!:

Java:
public class Testpanel extends JPanel  {
	GridBagLayout gbl=new GridBagLayout();

	
	public Testpanel(){
		setLayout(gbl);
		setOpaque(false);
		//setPreferredSize(new Dimension(900, 600));  *// solange auskommentiert alles ok, halt nur 
														//zu klein!! ansonsten vergrößert sich das Containerpanel mit!!
	    JPanel jpoben=new JPanel();
	    jpoben.setBackground(Color.blue);
	    jpoben.setOpaque(false);
	    JPanel jprechts=new JPanel();
	    jprechts.setBackground(Color.yellow);
	    jprechts.setOpaque(true);
	    JPanel jpunten=new JPanel();
	    jpunten.setBackground(Color.black);
	    jpunten.setOpaque(false);
	    JPanel jplinks=new JPanel();
	    jplinks.setBackground(Color.red);
	    jplinks.setOpaque(true);
	    JPanel jpzentrum=new JPanel();
		jpzentrum.setBackground(Color.green);
		jpzentrum.setBorder(new SoftBevelBorder( SoftBevelBorder.RAISED ));
		jpzentrum.setLayout(gbl);


     addGBL(jpoben, 0, 0, 3, 1, GridBagConstraints.BOTH, 1200, 110,new Insets(2, 2, 2, 2));
     addGBL(jprechts, 2, 1, 1, 1, GridBagConstraints.BOTH, 10, 800,new Insets(2, 2, 2, 2));
     addGBL(jpunten, 0, 2, 3, 1, GridBagConstraints.BOTH, 1200,40,new Insets(2, 2, 2, 2));
     addGBL(jplinks, 0, 1, 1, 1, GridBagConstraints.BOTH, 10, 800,new Insets(2, 2, 2, 2));
     addGBL(jpzentrum, 1, 1, 1, 1, GridBagConstraints.BOTH,1180,800,new Insets(2, 2, 2, 2));
     

   }
	public static Component erstelleTP(){
		return new Testpanel();
	}
	
		public void addGBL(Component f, int gridx, int gridy, int gridwidth, int gridheight,
	            			int fill, double weightx, double weighty, Insets insets){
	        GridBagConstraints c=new GridBagConstraints();
	        c.gridx=gridx;
	        c.gridy=gridy;
	        c.gridheight=gridheight;
	        c.gridwidth=gridwidth;
	        c.fill=fill;
	        c.weightx=weightx;
	        c.weighty=weighty;
	        c.insets=insets;
	        gbl.setConstraints(f, c);
	        add(f);
}
		public void addGBL(ArbeitsPanel f, int gridx, int gridy, int gridwidth, int gridheight,
    			int fill, double weightx, double weighty, Insets insets){
			GridBagConstraints c=new GridBagConstraints();
			c.gridx=gridx;
			c.gridy=gridy;
			c.gridheight=gridheight;
			c.gridwidth=gridwidth;
			c.fill=fill;
			c.weightx=weightx;
			c.weighty=weighty;
			c.insets=insets;
			gbl.setConstraints(f, c);
			add(f);
			}

}

Hab die Problemzeile Kommentiert

vielen Dank im voraus ,

gruß Stream
 

Stream1241

Mitglied
Hey,

hab glaube ich endlich den Fehler gefunden, und zwar denke ich das aufgrund das das Mittlere Panel auf BOTH gesetzt war
es keine Festlegenden Werte angenommen hat, und sich deshalb ausdehnt.
Habe jetzt auf NONE geändert Arbeitspanel über setPreferredSize festgelegt und Testpanels eingefügt und Das Arbeitspanel
behält jetzt seine Größe!!

Gruß Stream
 

KrokoDiehl

Top Contributor
Eine Sache fällt mir auf: Die Angaben weightx und weighty sind eher als prozentuale Werte zu verstehen, sprich wie verhält sich die Komponente bei Vergrößerung/Verkleinerung des Containers. Entsprechend sind hier Werte zwischen 0.0 und 1.0 (= 100%) üblich. 1.0 heißt dann etwa soviel wie "nutze den vollständigen neuen Platz bei einer Vergrößerung". Das jeweils getrennt nach x-(Zeile) und y-(Spalte)Richtung.

Wie groß (in Pixeln) die Komponente im GBL ist richtet sich daher nicht nach dem Layout sondern nach der preferredSize der Komponente.
 

Stream1241

Mitglied
Hex ,

Danke!! Hab mich jetzt nochmals in die Weighty Angaben eingelesen und bin echt vom Falschen Ansatz her drangegangen!!
Jetzt über preferredSize funktioniert alles so wie es soll!!

Gruß Stream
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Swing GridBagLayout Java Basics - Anfänger-Themen 3
I Swing-Komponenten-Größe im GridBagLayout beschränken Java Basics - Anfänger-Themen 2
J SWING UI Designer und zeichnen Java Basics - Anfänger-Themen 4
G Maven Swing: Wie verwende ich WindowListener ? Java Basics - Anfänger-Themen 2
C Threads und Swing Java Basics - Anfänger-Themen 9
A Swing: Raumshiff Java Basics - Anfänger-Themen 3
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
nbergmann Wo ist javax.swing.JOptionPane gespeichert? Java Basics - Anfänger-Themen 4
StevenGG Java swing "New Integer" Java Basics - Anfänger-Themen 5
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
O ImageIcon, Swing Java Basics - Anfänger-Themen 1
O Swing JPanel Java Basics - Anfänger-Themen 4
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
mobaer Swing Timer stoppen Java Basics - Anfänger-Themen 3
M Wie kann ich hier ein Textfeld hinzufügen Java Swing? Java Basics - Anfänger-Themen 1
M SpielMenü mit Swing Java Basics - Anfänger-Themen 3
M Wie kann ich eine Eingabe im Java-Swing übergeben? Java Basics - Anfänger-Themen 1
N javax swing JOptionPane Hilfe Java Basics - Anfänger-Themen 3
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
C Der Swing Layout-Manager hasst mich Java Basics - Anfänger-Themen 4
M Java swing im Browser starten Java Basics - Anfänger-Themen 0
M JavaFX in Swing-Applikationen einbetten Java Basics - Anfänger-Themen 5
Z Threads SWING mit EventQueue.invokeLater Java Basics - Anfänger-Themen 1
P JDK installieren javac behauptet Javax.swing existiert nicht Java Basics - Anfänger-Themen 8
K Ascii Converter mit Swing Java Basics - Anfänger-Themen 4
b1ck Interface Verständnisfrage zum GUI mit "swing" Java Basics - Anfänger-Themen 1
N Erste Schritte Karte in SWING Application Java Basics - Anfänger-Themen 4
D Mehrfacherfassung in Swing GUI Java Basics - Anfänger-Themen 12
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
R warum kann System.out.println(..) etwas, was Swing-Elemente Nicht können ? Java Basics - Anfänger-Themen 11
J Input/Output Charset Swing- Eingaben? Java Basics - Anfänger-Themen 8
S JUnit - Swing- Anwendung wird nicht neu gestartet Java Basics - Anfänger-Themen 0
Q Threads Threads in Swing Anwendungen Java Basics - Anfänger-Themen 5
B Swing intstalliert Eclips{}, mackiert Rot Java Basics - Anfänger-Themen 6
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
S Input/Output In Java Swing auf Button warten? Java Basics - Anfänger-Themen 9
N Problem mit Swing Textfeld und Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 6
G Performance - höhere Anzahl Swing Elemente Java Basics - Anfänger-Themen 5
B Java Swing "Zeichenfläche" Java Basics - Anfänger-Themen 1
O Alternative zum swing-Timer Java Basics - Anfänger-Themen 5
F Swing Applet: mehrere Komponenten hinzufügen Java Basics - Anfänger-Themen 1
F Platzieren von Komponenten in Swing Applet funktioniert nicht Java Basics - Anfänger-Themen 3
P Hintergrundbild in Swing einfügen Java Basics - Anfänger-Themen 3
C Swing frage Java Basics - Anfänger-Themen 8
T Rechenprogramm mit Swing Java Basics - Anfänger-Themen 3
K Swing Darstellungsproblem Java Basics - Anfänger-Themen 11
G Verständnisproblem mit swing Java Basics - Anfänger-Themen 6
P Swing - Blackscreen Java Basics - Anfänger-Themen 10
Y Random-Objekt und Swing Java Basics - Anfänger-Themen 4
M Klassen Hilfe bei SWING Java Basics - Anfänger-Themen 5
S GUI Problem: Swing Java Basics - Anfänger-Themen 8
M Javax.swing - Timer(2 Button) Java Basics - Anfänger-Themen 17
J Timer - Swing Java Basics - Anfänger-Themen 5
B Erste Schritte Primefaces -> Swing Gui Java Basics - Anfänger-Themen 7
T Swing, SWT oder JavaFX Java Basics - Anfänger-Themen 8
S Programmoberfläche mit Java-Swing - Herangehensweise Java Basics - Anfänger-Themen 20
E Fragen zu paintXXX in Swing Java Basics - Anfänger-Themen 7
D Erste Schritte bash-Befehl mit Swing ausführen Java Basics - Anfänger-Themen 8
A Alternative zum manuellen Swing programmieren?? Java Basics - Anfänger-Themen 4
S Android fuer Swing-Kenner..? Java Basics - Anfänger-Themen 6
J Swing Timer Java Basics - Anfänger-Themen 3
B Seltsamer Fehler in SWING anwendung Java Basics - Anfänger-Themen 2
D GPS Tracker Swing Java Basics - Anfänger-Themen 2
L Erste Schritte Swing oder SWT Paint mit Grafikkarte? Java Basics - Anfänger-Themen 7
B Einstieg in swing GUI Java Basics - Anfänger-Themen 7
S Swing Eingabe Erzwingen Java Basics - Anfänger-Themen 3
S Swing JTable Java Basics - Anfänger-Themen 7
Z Input/Output Programm mit Swing umsetzen Java Basics - Anfänger-Themen 6
K Eclipse wie Swing per Drag und Drop erstellen Java Basics - Anfänger-Themen 2
V Dropdown Button in einer GUI (Java Swing) Java Basics - Anfänger-Themen 12
O swing komponenten werden nicht angezeigt Java Basics - Anfänger-Themen 6
S Swing, Panel über Hintergrundbild!! Java Basics - Anfänger-Themen 6
P Im Fenster bleiben (swing) Java Basics - Anfänger-Themen 16
M Einfacher Swing Wizard Java Basics - Anfänger-Themen 3
E Swing FileWrite?? Java Basics - Anfänger-Themen 3
S Umlaute in Swing-GUI Java Basics - Anfänger-Themen 8
K Drop-down Menü (swing) Java Basics - Anfänger-Themen 4
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
M Swing Klasse auch per Kommandozeile starten? Java Basics - Anfänger-Themen 2
S JAVA Swing Eventlistener Java Basics - Anfänger-Themen 11
P Swing - Welche Klasse für ausgeben von Ergebnissen? Java Basics - Anfänger-Themen 3
V Swing Componenten werden auf Mac nicht angezeigt Java Basics - Anfänger-Themen 19
J Überfordert mit Swing Java Basics - Anfänger-Themen 5
B Baum > Baum-Swing Java Basics - Anfänger-Themen 4
B Bei Swing weg vom North-West-South-East-Prinzip Java Basics - Anfänger-Themen 2
K Swing Fenster jede sec.neuzeichnen Java Basics - Anfänger-Themen 14
F Werteübergabe in Swing Formularen (gui Builder) Java Basics - Anfänger-Themen 9
K Bild als Hintergrund in einem Swing Fenster Java Basics - Anfänger-Themen 21
J unterschied zwischen awt und swing Java Basics - Anfänger-Themen 6
C Swing i.V.m. Threads Java Basics - Anfänger-Themen 2
J XML Viewer for Swing Java Basics - Anfänger-Themen 6
Y Anfänger Hausaufgabe... Swing Java Basics - Anfänger-Themen 6
W Zeichnen in Swing Java Basics - Anfänger-Themen 7
B Swing Applikation mit mehreren Klassen Java Basics - Anfänger-Themen 2
C Swing, Buttons Wert zuweisen Java Basics - Anfänger-Themen 3
Luk10 Swing timer und Threads Java Basics - Anfänger-Themen 4
J Java GUI in Swing und das MVC Paradigma Java Basics - Anfänger-Themen 3
M Swing Java Basics - Anfänger-Themen 7
B Verständnisproblem zu Swing und Methoden Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben