Hallo zusammen!
Ich bin dabei, ein Renderprogramm für Fraktale zu schreiben, allerdings hab ich noch ein kleines Problem:
Ich habe ein GUI mit einer Toolbar an der Seite, die mit einem vertikalen BoxLayout strukturiert ist. Das Problem ist, dass die Label über den Bedienelementen, ebenso wie die Buttons zum rendern und speichern nicht rechtsbündig sind, obwohl sie das sein sollten. Als ich eine JComboBox eingefügt habe, standen die Label sogar zentriert!
Wie kann man das beheben?!
Ich bin dabei, ein Renderprogramm für Fraktale zu schreiben, allerdings hab ich noch ein kleines Problem:
Ich habe ein GUI mit einer Toolbar an der Seite, die mit einem vertikalen BoxLayout strukturiert ist. Das Problem ist, dass die Label über den Bedienelementen, ebenso wie die Buttons zum rendern und speichern nicht rechtsbündig sind, obwohl sie das sein sollten. Als ich eine JComboBox eingefügt habe, standen die Label sogar zentriert!
Wie kann man das beheben?!
Java:
public JLabel label_type = new JLabel("Fraktaltyp:");
public JComboBox<String> fraktal_type = new JComboBox<String>();
public JLabel label_c = new JLabel("c=");
public JComplexInput input_c = new JComplexInput(new Complex(0, 1));
public JLabel label_iter = new JLabel("Iterationen:");
public JTextField input_iter = new JTextField("255");
public JLabel label_scale = new JLabel("Skalierung:");
public JTextField input_scale = new JTextField("0.035");
public JLabel label_center = new JLabel("Mittelpunkt:");
public JComplexInput input_center = new JComplexInput();
public JButton btn_calc = new JButton("Darstellen");
public JButton btn_save = new JButton("Speichern");
public JLabel label_pos = new JLabel("Cursor:");
public JLabel label_mouse = new JLabel(new Complex().toString());
public MainFrame(String title) {
super(title);
this.setSize(640, 480);
this.setMinimumSize(new Dimension(250, 150));
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.add(this.container);
this.container.setLeftComponent(this.toolbar);
this.container.setRightComponent(this.render);
this.container.setDividerLocation(200);
this.container.setEnabled(false);
this.render.setBackground(Color.BLACK);
this.render.addMouseListener(this.screenEventHandler);
this.render.addMouseMotionListener(this.screenEventHandler);
this.toolbar.setLayout(new BoxLayout(this.toolbar, BoxLayout.Y_AXIS));
this.toolbar.setBorder(BorderFactory.createEmptyBorder(0, 5, 5, 5));
this.label_type.setMaximumSize(new Dimension(360, 20));
this.toolbar.add(this.label_type);
for (FraktalCalculator fc : FraktalMaths.calculators)
this.fraktal_type.addItem(fc.getCaption());
this.fraktal_type.setMaximumSize(new Dimension(360, 25));
this.toolbar.add(this.fraktal_type);
this.label_c.setMaximumSize(new Dimension(360, 20));
this.toolbar.add(this.label_c);
this.input_c.setMaximumSize(new Dimension(360, 25));
this.toolbar.add(this.input_c);
this.label_iter.setMaximumSize(new Dimension(360, 20));
this.toolbar.add(this.label_iter);
this.input_iter.setMaximumSize(new Dimension(360, 25));
this.toolbar.add(this.input_iter);
this.label_scale.setMaximumSize(new Dimension(360, 20));
this.toolbar.add(this.label_scale);
this.input_scale.setMaximumSize(new Dimension(360, 25));
this.toolbar.add(this.input_scale);
this.label_center.setMaximumSize(new Dimension(360, 20));
this.toolbar.add(this.label_center);
this.input_center.setMaximumSize(new Dimension(360, 25));
this.toolbar.add(this.input_center);
this.toolbar.add(Box.createRigidArea(new Dimension(0, 15)));
this.btn_calc.setMaximumSize(new Dimension(360, 30));
this.btn_calc.addActionListener(this.eventHandler);
this.toolbar.add(this.btn_calc);
this.toolbar.add(Box.createRigidArea(new Dimension(0, 5)));
this.btn_save.setMaximumSize(new Dimension(360, 30));
this.btn_save.addActionListener(this.eventHandler);
this.toolbar.add(this.btn_save);
this.toolbar.add(new JPanel());
this.label_pos.setMaximumSize(new Dimension(360, 20));
this.toolbar.add(this.label_pos);
this.label_mouse.setMaximumSize(new Dimension(360, 16));
this.toolbar.add(this.label_mouse);
}
Zuletzt bearbeitet von einem Moderator: