Zamieszczam fragment mojego kodu kalkulatora
public Okno() {
super("Kalkulator");
setSize(200,250);
setLocation(600,200);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
panel = new JPanel(new GridLayout(4,5));
screen = new JLabel(" "+wynik);
panel.add(p0);
panel.add(p1);
panel.add(p2);
panel.add(p3);
panel.add(p4);
panel.add(p5);
panel.add(p6);
panel.add(p7);
panel.add(p8);
panel.add(p9);
panel.add(dodaj);
panel.add(odejmij);
panel.add(mnoz);
panel.add(dziel);
panel.add(kasuj);
panel.add(suma);
setLayout(new BorderLayout());
add(BorderLayout.SOUTH, panel);
add(BorderLayout.NORTH, screen);
p0.addActionListener(this);
p1.addActionListener(this);
p2.addActionListener(this);
p3.addActionListener(this);
p4.addActionListener(this);
p5.addActionListener(this);
p6.addActionListener(this);
p7.addActionListener(this);
p8.addActionListener(this);
p9.addActionListener(this);
dodaj.addActionListener(this);
odejmij.addActionListener(this);
mnoz.addActionListener(this);
dziel.addActionListener(this);
kasuj.addActionListener(this);
suma.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==p0) {
screen.setText("0");
wynik=0;
}
if (e.getSource()==p1) {
screen.setText("1");
wynik=1;
}
else if (e.getSource()==p2) {
screen.setText("2");
wynik=2;
}
else if (e.getSource()==p3) {
screen.setText("3");
wynik=3;
}
else if (e.getSource()==p4) {
screen.setText("4");
wynik=4;
}
else if (e.getSource()==p5) {
screen.setText("5");
wynik=5;
}
else if (e.getSource()==p6) {
screen.setText("6");
wynik=6;
}
else if (e.getSource()==p7) {
wynik=(double) e.getSource();
screen.setText("" + wynik);
}
else if (e.getSource()==p8) {
screen.setText("8");
wynik=8;
}
else if (e.getSource()==p9) {
screen.setText("9");
wynik=9;
}
else if (e.getSource()==dodaj) {
pamiec=wynik;
opcja=1;
}
else if (e.getSource()==odejmij) {
pamiec=wynik;
opcja=2;
}
else if (e.getSource()==mnoz) {
pamiec=wynik;
opcja=3;
}
else if (e.getSource()==dziel) {
pamiec=wynik;
opcja=4;
}
else if (e.getSource()==kasuj) {
wynik=0;
pamiec=0;
screen.setText(""+wynik);
}
else if (e.getSource()==suma) {
if (opcja==1) {
wynik+=pamiec;
screen.setText(" "+wynik+" ");
}
if (opcja==2) {
wynik-=pamiec;
screen.setText(" "+wynik+" ");
}
if (opcja==3) {
wynik*=pamiec;
screen.setText(" "+wynik+" ");
}
if (opcja==4) {
wynik=pamiec/wynik;
screen.setText(" "+wynik+" ");
}
}
}
}
W momencie kliknięcia przycisku z cyfrą np. 5 zmienna wynik ustawia się jako 5, nie wiem natomiast jak rozwiązać mój problem, gdy kliknę dwa razy przycisk z liczbą 5 zmienna wynik ustawiła się jako 55.
W tym miejscu :
else if (e.getSource()==p7) {
wynik=(double) e.getSource();
screen.setText("" + wynik);
}
próbowałem to zrobić w ten sposób ale także nie działa.