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!!
Meine Main Klasse
Dann meine Grundpanel Klasse in der ich das Mittlere Panel definiere und Ausrichte:
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)!!:
Hab die Problemzeile Kommentiert
vielen Dank im voraus ,
gruß Stream
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!!
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