Hallo,
erstmal hallo an alle, hab mich soeben erst hier registriert, da ich vor einem Problem mit einer Aufgabe stehe, welche wir bekommen haben. Ich studieren Medieninformatik und bin jetzt im 2. Semester, wir haben soeben mit GUI-Entwicklung angefangen und haben nun die Aufgabe bekommen eine Taschenrechner-GUI sowohl mit GridLayout, FlowLayout als auch mit BorderLayout darzustellen. Die ersten beiden Layouts bereiteten mir keinerlei Probleme, aber BorderLayout will einfach nicht so wie ich will
Die GUI soll so aussehen (oder so ähnlich, exakt gleich geht das wahrscheinlich nicht wirklich):
Mein Quelltext sieht bisher so aus:
Jetzt habe ich allerdings das Problem das auch beim verschachteln der BorderLayouts immer ein Center-Block enthalten ist, welcher ja doppelt so breit ist wie die West und East-Blöcke, dadurch ist es für mich nicht möglich 4 Buttons nebeneinander anzuordnen so wie es das Beispiel verlangt. Oder hab ich bei der Verschachtelung etwas falsch gemacht? Ist es überhaupt möglich den Taschenrechner so wie er dort dargestellt ist nur über BorderLayout zu realisieren? Bin mir da nicht so sicher, habe zumindest keine andere Idee, mit anderen Layouts wäre es ja kein Problem.
erstmal hallo an alle, hab mich soeben erst hier registriert, da ich vor einem Problem mit einer Aufgabe stehe, welche wir bekommen haben. Ich studieren Medieninformatik und bin jetzt im 2. Semester, wir haben soeben mit GUI-Entwicklung angefangen und haben nun die Aufgabe bekommen eine Taschenrechner-GUI sowohl mit GridLayout, FlowLayout als auch mit BorderLayout darzustellen. Die ersten beiden Layouts bereiteten mir keinerlei Probleme, aber BorderLayout will einfach nicht so wie ich will
Die GUI soll so aussehen (oder so ähnlich, exakt gleich geht das wahrscheinlich nicht wirklich):

Mein Quelltext sieht bisher so aus:
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class BorderLayout extends JFrame {
public BorderLayout () {
setSize(320, 190);
setTitle("calc using border layout");
Container contentPane = getContentPane();
WindowDestroyer myListener = new WindowDestroyer();
addWindowListener(myListener);
JButton button1 = new JButton("1");
JButton button2 = new JButton("2");
JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
JButton button5 = new JButton("5");
JButton button6 = new JButton("6");
JButton button7 = new JButton("7");
JButton button8 = new JButton("8");
JButton button9 = new JButton("9");
JButton button0 = new JButton("0");
JButton buttonplus = new JButton("+");
JButton buttonminus = new JButton("-");
JButton buttonmultiply = new JButton("x");
JButton buttondivide = new JButton(":");
JButton buttonresult = new JButton("=");
JButton buttonclear = new JButton("C");
contentPane.setLayout(new java.awt.BorderLayout());
JTextArea display = new JTextArea("0", 1, 25);
contentPane.add(display, java.awt.BorderLayout.NORTH);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JPanel panel4 = new JPanel();
JPanel panel5 = new JPanel();
contentPane.add(panel1, java.awt.BorderLayout.CENTER);
panel1.setLayout(new java.awt.BorderLayout());
panel1.add(panel2, java.awt.BorderLayout.NORTH);
panel1.add(panel3, java.awt.BorderLayout.SOUTH);
panel2.setLayout(new java.awt.BorderLayout());
panel3.setLayout(new java.awt.BorderLayout());
panel2.add(buttonplus, java.awt.BorderLayout.WEST);
panel2.add(button1, java.awt.BorderLayout.CENTER);
panel2.add(button2, java.awt.BorderLayout.CENTER);
panel2.add(button3, java.awt.BorderLayout.EAST);
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
BorderLayout calc = new BorderLayout();
}
}
Jetzt habe ich allerdings das Problem das auch beim verschachteln der BorderLayouts immer ein Center-Block enthalten ist, welcher ja doppelt so breit ist wie die West und East-Blöcke, dadurch ist es für mich nicht möglich 4 Buttons nebeneinander anzuordnen so wie es das Beispiel verlangt. Oder hab ich bei der Verschachtelung etwas falsch gemacht? Ist es überhaupt möglich den Taschenrechner so wie er dort dargestellt ist nur über BorderLayout zu realisieren? Bin mir da nicht so sicher, habe zumindest keine andere Idee, mit anderen Layouts wäre es ja kein Problem.
Anhänge
Zuletzt bearbeitet von einem Moderator: