Hallo,
Ich möchte ein Taschenrechner erstellen, wessen GUI am Ende aussieht wie Anhang 1. Mein Plan war dabei ein Panel mit BorderLayout und SubPanels, die nochmal jeweils andere Layouts annehmen. Das scheint auch alles in die richtige Richtung zu gehen, jedoch sind die einzelnen Komponente nicht nur vom Abstand und der Anordnung falsch sondern auch von der Größe entweder zu groß oder zu klein. Ich habe schon versucht die Anordnungen mit der Boxkomponente Verticalstrut zu verändern, jedoch funktioniert nichts davon. Wie kann ich nun die einzelnen Komponente verschieben um das Ergebnis zu erreichen? Und noch wichtiger wie bekomme ich das übergroße JTextField auf normale Größe? Der verzweifelte Versuch ist im übrigen in Anhang 2 gespeichert Vielen dank im Voraus
Ich möchte ein Taschenrechner erstellen, wessen GUI am Ende aussieht wie Anhang 1. Mein Plan war dabei ein Panel mit BorderLayout und SubPanels, die nochmal jeweils andere Layouts annehmen. Das scheint auch alles in die richtige Richtung zu gehen, jedoch sind die einzelnen Komponente nicht nur vom Abstand und der Anordnung falsch sondern auch von der Größe entweder zu groß oder zu klein. Ich habe schon versucht die Anordnungen mit der Boxkomponente Verticalstrut zu verändern, jedoch funktioniert nichts davon. Wie kann ich nun die einzelnen Komponente verschieben um das Ergebnis zu erreichen? Und noch wichtiger wie bekomme ich das übergroße JTextField auf normale Größe? Der verzweifelte Versuch ist im übrigen in Anhang 2 gespeichert Vielen dank im Voraus
Java:
public class Taschenrechner extends JFrame
{
private static final long serialVersionUID = 1L;
public Taschenrechner()
{
JFrame fenster = new JFrame();
fenster.setTitle("Taschenrechner für komplexe Zahlen");
fenster.setSize(500,300);
JPanel mainpanel = new JPanel ();
mainpanel.setLayout(new BorderLayout());
//Line Start
JPanel subpanel = new JPanel();
subpanel.setLayout(new BoxLayout(subpanel, BoxLayout.Y_AXIS));
subpanel.add(new JLabel("Zahl 1: "));
subpanel.add(new JLabel("Zahl 2: "));
subpanel.setVisible(true);
mainpanel.add(subpanel, BorderLayout.LINE_START);
//Page start
JPanel subpanel2 = new JPanel();
subpanel2.setLayout(new FlowLayout());
subpanel2.add(new JLabel("Realteil ",JLabel.LEFT));
subpanel2.add(new JLabel(" Imaginärteil",JLabel.LEFT));
subpanel2.setVisible(true);
mainpanel.add(subpanel2,BorderLayout.PAGE_START);
//Center
JPanel subpanel3 = new JPanel();
subpanel3.setLayout(new GridLayout(2,2));
subpanel3.add(new JTextField("0.0"));
subpanel3.add(new JTextField("0.0"));
subpanel3.add(new JTextField("0.0"));
subpanel3.add(new JTextField("0.0"));
subpanel3.setVisible(true);
mainpanel.add(subpanel3,BorderLayout.CENTER);
//Page End
JPanel subpanel4 = new JPanel();
subpanel4.setLayout(new FlowLayout(FlowLayout.LEFT));
subpanel4.add(new JLabel("Ergebnis: "));
subpanel4.add(new JTextField());
subpanel4.add(new JTextField());
subpanel4.setVisible(true);
mainpanel.add(subpanel4,BorderLayout.PAGE_END);
//Line End
JPanel subpanel5 = new JPanel();
subpanel5.setLayout(new BoxLayout(subpanel5,BoxLayout.Y_AXIS));
subpanel5.add(new JButton("+"));
subpanel5.add(new JButton("-"));
subpanel5.add(new JButton("*"));
subpanel5.add(new JButton("/"));
subpanel5.add(new JButton("clear"));
subpanel5.setVisible(true);
mainpanel.add(subpanel5, BorderLayout.LINE_END);
mainpanel.setVisible(true);
fenster.add(mainpanel);
fenster.setVisible(true);
}