Hallo,
ich hab ein Problem beim verwenden vom BorderLayout. Leider verhalten sich meine Panels nicht so wie ich es möchte. Beim vergrößern des Fensters wird bei dem einem Panel mit einer Canvas Zeichenfläche nur die Breite vergrößert, aber die Höhe nicht. Leider finde ich keinen Lösung.
Hier mein Code
Danke für eure Hilfe
ich hab ein Problem beim verwenden vom BorderLayout. Leider verhalten sich meine Panels nicht so wie ich es möchte. Beim vergrößern des Fensters wird bei dem einem Panel mit einer Canvas Zeichenfläche nur die Breite vergrößert, aber die Höhe nicht. Leider finde ich keinen Lösung.
Hier mein Code
Java:
package aufgabe4;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Canvas;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Blackboard extends Frame {
private final static long serialVersionUID = 20L;
private Panel top, bottom, flaeche;
private Button clear, exit;
private Choice color;
private Canvas area;
public Blackboard() {
// Frame
super("Blackboard");
setSize(600, 600);
setLocationRelativeTo(getParent());
// Listener zum Beenden des Fensters
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
// flaeche
flaeche = new Panel();
flaeche.setLayout(new BorderLayout());
flaeche.setSize(550, 600);
add(BorderLayout.CENTER, flaeche);
// top
top = new Panel();
top.setLayout(new GridLayout(1, 3));
// color
color = new Choice();
color.add("Black");
color.add("Blue");
color.add("Cyan");
color.add("DarkGrey");
color.add("Gray");
color.add("Green");
color.add("LightGray");
color.add("Magenta");
color.add("Orange");
color.add("Pink");
color.add("Red");
color.add("White");
color.add("Yellow");
// Button
clear = new Button("clear");
exit = new Button("exit");
// add
top.add(color);
top.add(clear);
top.add(exit);
// bottom
bottom = new Panel();
// PaintingArea
area = new Canvas();
area.setBackground(Color.LIGHT_GRAY);
area.setSize(550, 550);
// add
bottom.add(area);
// add flaeche
flaeche.add(BorderLayout.NORTH, top);
flaeche.add(BorderLayout.SOUTH, area);
setVisible(true);
}
public static void main(String[] args) {
Blackboard board = new Blackboard();
}
}
Danke für eure Hilfe