habe jetzt das geschrieben. mir fehlt nur noch, dass ich die Ausgabe des Labels rechtsbündig hinbekomme. Aber ich weiss nicht wie. Hat jemand eine Idee?
Code:
import javax.swing.*;
import java.awt.*;
//Event brauchen wir für das Ereigniss, wenn ein Button geklickt wird
import java.awt.event.*;
public class CalculatorGUI extends JFrame
{
private JButton button1;
private JButton button2;
private JButton button3;
private JButton button4;
private JButton button5;
private JButton button6;
private JButton button7;
private JButton button8;
private JButton button9;
private JButton button0;
private JButton buttonPlus;
private JButton buttonMinus;
private JButton buttonDifference;
private JButton buttonMultiple;
private JButton buttonPoint;
private JButton buttonEqual;
private JPanel panelButton;
private JLabel anzeige;
public CalculatorGUI()
{
super("CalculatorGUI");
setLocation(200,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new BorderLayout(4,4));
//Buttons erzeugen
button1 = new JButton("1");
button2 = new JButton("2");
button3 = new JButton("3");
button4 = new JButton("4");
button5 = new JButton("5");
button6 = new JButton("6");
button7 = new JButton("7");
button8 = new JButton("8");
button9 = new JButton("9");
button0 = new JButton("0");
buttonPlus = new JButton("+");
buttonMinus = new JButton("-");
buttonMultiple = new JButton("*");
buttonDifference = new JButton("/");
buttonPoint = new JButton(".");
buttonEqual = new JButton("=");
//Panels erzeugen
panelButton = new JPanel(new GridLayout(4,5));
//Auf Panel Buttons packen
panelButton.add(button7);
panelButton.add(button8);
panelButton.add(button9);
panelButton.add(buttonPlus);
panelButton.add(button4);
panelButton.add(button5);
panelButton.add(button6);
panelButton.add(buttonMinus);
panelButton.add(button1);
panelButton.add(button2);
panelButton.add(button3);
panelButton.add(buttonMultiple);
panelButton.add(button0);
panelButton.add(buttonPoint);
panelButton.add(buttonEqual);
panelButton.add(buttonDifference);
//Listener für Buttons
addButtonListener(button7);
addButtonListener(button8);
addButtonListener(button9);
addButtonListener(buttonPlus);
addButtonListener(button4);
addButtonListener(button5);
addButtonListener(button6);
addButtonListener(buttonMinus);
addButtonListener(button1);
addButtonListener(button2);
addButtonListener(button3);
addButtonListener(buttonMultiple);
addButtonListener(button0);
addButtonListener(buttonPoint);
addButtonListener(buttonEqual);
addButtonListener(buttonDifference);
//Label zentrieren
anzeige = new JLabel("Button klicken");
//Labels auf Frame packen
//getContentPane().add(BorderLayout.CENTER);
getContentPane().add(BorderLayout.CENTER, anzeige);
//Panels auf Frame packen
getContentPane().add(BorderLayout.SOUTH, panelButton);
pack();
setVisible(true);
}
public static void main(String[] args)
{
CalculatorGUI g = new CalculatorGUI();
}
private void addButtonListener(JButton b)
{
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
eingabe(ae.getActionCommand());
}
});
}
private void eingabe(String a)
{
anzeige.setText(a);
}
}