M
Marc1985
Gast
Hallo Forum,
ich habe eine klasse die von JPanel erbt zu der ich Komponenten mittels dieser Methode hinzufüge.
Mein Problem ist das ich eigentlich dieses JPanel genau in der Mitte "teilen" will, soll heißen die linke "Spalte" soll genauso breit sein wie die rechte. Hier die Komponenten:
Wenn ich den Frame der das Panel erhält auf Vollbild ziehe, passt das Verhältnis zwischen linker und rechter, beide sind also gleich groß. Hat jemand eine Idee wie ich das bei jeder Framegröße erreiche?
VG Marc
ich habe eine klasse die von JPanel erbt zu der ich Komponenten mittels dieser Methode hinzufüge.
Code:
public void addComponent(GridBagLayout gbl, Component c, int x, int y,
int width, int height, double weightx, double weighty,
int insetTop, int insetLeft, int insetBottom, int insetRight, String fill) {
GridBagConstraints gbc = new GridBagConstraints();
if(fill == "both") {
gbc.fill = GridBagConstraints.BOTH;
}
else if(fill == "horizontal") {
gbc.fill = GridBagConstraints.HORIZONTAL;
}
else if(fill == "vertical") {
gbc.fill = GridBagConstraints.VERTICAL;
}
else if(fill == "none") {
gbc.fill = GridBagConstraints.NONE;
}
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = width;
gbc.gridheight = height;
gbc.weightx = weightx;
gbc.weighty = weighty;
gbc.insets=new Insets(insetTop, insetLeft, insetBottom, insetRight);
gbl.setConstraints(c, gbc);
this.add(c);
}
Mein Problem ist das ich eigentlich dieses JPanel genau in der Mitte "teilen" will, soll heißen die linke "Spalte" soll genauso breit sein wie die rechte. Hier die Komponenten:
Code:
//über die ganze breite
this.addComponent(gbl, ein JLABLE,0, 0, 6, 1, 1, 1, 15, 15, 5, 15, "horizontal");
//Die linke Seite
this.addComponent(gbl, ein TextField, 0, 2, 1, 1, 0.1, 1, 15, 15, 0, 0, "horizontal");
this.addComponent(gbl, ein TextField, 1, 2, 2, 1, 0.4, 1, 15, 15, 0, 15, "horizontal");
this.addComponent(gbl, JScrollPane, 0, 3, 3, 1, 0.5, 60, 15, 15, 5, 15, "both");
this.addComponent(gbl, JPanel, 0, 5, 3, 1, 0.5, 1, 15, 15, 5, 15, "horizontal");
//Die rechte Seite
this.addComponent(gbl, ein JLABLE, 3, 2, 3, 1, 0.5, 1, 15, 15, 0, 15, "horizontal");
this.addComponent(gbl, JScrollPane, 3, 3, 3, 1, 0.5, 60, 15, 15, 5, 15, "both");
this.addComponent(gbl, ein JLABLE,3, 4, 3, 1, 0.5, 1, 15, 15, 5, 15, "horizontal");
this.addComponent(gbl, JPanel,3, 5, 3, 1, 0.5, 1, 15, 15, 5, 15, "horizontal");
Wenn ich den Frame der das Panel erhält auf Vollbild ziehe, passt das Verhältnis zwischen linker und rechter, beide sind also gleich groß. Hat jemand eine Idee wie ich das bei jeder Framegröße erreiche?
VG Marc