G
Guest
Gast
Hallo,
habe Probleme mit den Positionen von dem GridBagLayout, das ist so kompliziert
. Diese Code gibt das hier aus:
Aber ich will dass es so wird:
Das Problem hierbei ist glaube ich die Canvas(Zeichenfläche). Wie mache ich das am besten? habe das schon mit gridx und gridy zu positionieren aber es geht nicht (ohne Canvas würde es gehen).
habe Probleme mit den Positionen von dem GridBagLayout, das ist so kompliziert

Aber ich will dass es so wird:

Das Problem hierbei ist glaube ich die Canvas(Zeichenfläche). Wie mache ich das am besten? habe das schon mit gridx und gridy zu positionieren aber es geht nicht (ohne Canvas würde es gehen).
Code:
import java.awt.*;
import java.awt.event.*;
public class Gui1 extends Frame {
public static void main(String[] args) {
new Gui1();
}
public Gui1() {
super("Gui1");
Frame f = new Frame();
f.setBounds(0, 0, 300, 200);
GridBagLayout gridLayout = new GridBagLayout();
f.setLayout(gridLayout);
GridBagConstraints gridC = new GridBagConstraints();
// Legt Fest, dass die einzelnen Gui-Elemente um sich 5 pixel Abstand
// haben
// gridC.insets = new Insets(5,5,5,5);
//gridC.fill=GridBagConstraints.RELATIVE;
Canvas canvas = new Canvas();
canvas.setSize(f.getWidth() /2, f.getHeight());
canvas.setBackground(Color.YELLOW);
gridC.gridx = 0;
gridC.gridy = 0;
gridC.gridheight=3;
f.add(canvas);
Choice choice = new Choice();
choice.add("1. Choice");
choice.add("2. Choice");
gridC.gridx = 1;
gridC.gridheight=1;
// gridC.gridy = 0;
gridLayout.setConstraints(choice, gridC);
f.add(choice);
Button okButton = new Button("Button1");
gridC.gridy = 1;
gridLayout.setConstraints(okButton, gridC);
f.add(okButton);
Button lButton = new Button("Button2");
// gridC.gridx = 3;
gridC.gridy = 2;
gridLayout.setConstraints(lButton, gridC);
f.add(lButton);
Button b = new Button("Button3");
// gridC.gridx = 4;
gridC.gridy = 3;
gridLayout.setConstraints(b, gridC);
f.add(b);
f.pack();
final WindowListener wndCloser = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
};
f.addWindowListener(wndCloser);
f.setVisible(true);
}
}