G
Gast
Gast
Ich bin gerade dabei ein Programm zu schreiben das mit Brüchen rechnen kann.Bis jetzt hab ich mal eine GUI-Klasse programmiert. Soweit klappt alles nur möchte ich das die TextFields nicht so breit sind. Also ich möchte gerne die größe der TextFields bestimmen. Dazu habe ich die Methode setMaximumSize() verwendet nur irgendwie hält sich der Layout-Manager daran nicht. Was hab ich falsch gemacht? Oder gibt es keine Möglichkeit die größe eines TextField zu bestimmen?
[/code]
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class BruchrechnenGUI extends JFrame {
JTextField zaehler1 = new JTextField();
JTextField nenner1 = new JTextField();
JTextField zaehler2 = new JTextField();
JTextField nenner2 = new JTextField();
JTextField ergZaehler = new JTextField();
JTextField ergNenner = new JTextField();
JLabel rechenzeichen = new JLabel("+", SwingConstants.CENTER);
JLabel gleich = new JLabel("=", SwingConstants.CENTER);
JPanel bruch1 = new JPanel();
JPanel bruch2 = new JPanel();
JPanel ergBruch = new JPanel();
JPanel pnlTextFields = new JPanel();
JRadioButton ad = new JRadioButton("Addieren", true);
JRadioButton su = new JRadioButton("Subtrahieren", false);
JRadioButton mu = new JRadioButton("Multiplizieren", false);
JRadioButton di = new JRadioButton("Dividieren", false);
ButtonGroup rechenarten = new ButtonGroup();
JPanel pnlRechenarten = new JPanel();
public BruchrechnenGUI() {
super("Bruchrechnen");
zaehler1.setMaximumSize(new Dimension(50, 25));
nenner1.setMaximumSize(new Dimension(50, 25));
zaehler1.setMaximumSize(new Dimension(50, 25));
nenner2.setMaximumSize(new Dimension(50, 25));
ergZaehler.setMaximumSize(new Dimension(50, 25));
ergNenner.setMaximumSize(new Dimension(50, 25));
bruch1.setMaximumSize(new Dimension(50, 60));
bruch1.setLayout(new GridLayout(2, 1, 0, 15));
bruch1.add(zaehler1);
bruch1.add(nenner1);
bruch2.setMaximumSize(new Dimension(50, 60));
bruch2.setLayout(new GridLayout(2, 1, 0, 15));
bruch2.add(zaehler2);
bruch2.add(nenner2);
ergBruch.setMaximumSize(new Dimension(50, 60));
ergBruch.setLayout(new GridLayout(2, 1, 0, 15));
ergBruch.add(ergZaehler);
ergBruch.add(ergNenner);
pnlTextFields.setLayout(new GridLayout(1, 5));
pnlTextFields.add(bruch1);
pnlTextFields.add(rechenzeichen);
pnlTextFields.add(bruch2);
pnlTextFields.add(gleich);
pnlTextFields.add(ergBruch);
rechenarten.add(ad);
rechenarten.add(su);
rechenarten.add(mu);
rechenarten.add(di);
pnlRechenarten.setLayout(new GridLayout(4, 1));
pnlRechenarten.add(ad);
pnlRechenarten.add(su);
pnlRechenarten.add(mu);
pnlRechenarten.add(di);
setLayout(new GridLayout(2, 1));
add(pnlTextFields);
add(pnlRechenarten);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 250);
setVisible(true);
}
}
public class Test {
public static void main(String[] args) {
BruchrechnenGUI b = new BruchrechnenGUI();
}
}