Cześć, otóż mam taki problem, chciałem mieć zmienną sterowniczą do wyboru działania i niestety nie przekazuje mi jej między klasami lub też nie nadpisuje zdefiniowanej zmiennej, chodzi tutaj o zmienną działanie i przekazywanie jej między klasami dodaj, odejmij, pomnóż, podziel a klasą równa się która wyświetla wynik.
Może ktoś mi to poprawić bo już siły na to nie mam :) A to dopiero moje pierwsze kroki w Javie.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package kalkulatorokienkowy;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Toolkit;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Locale;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
*
* @author Piotr
*/
public class KalkulatorOkienkowy extends JFrame {
JTextField okno;
public KalkulatorOkienkowy() {
setSize(310,500);
setTitle("Kalkulator okienowy al a Windows");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel panel = new JPanel();
getContentPane().add(panel);
panel.setLayout(null);
//wprowadzanie danych i wyprowadzenie wyniku
okno = new JTextField("",12);
okno.setBounds(25, 25, 245, 30); //x, y, szer wys
add(okno);
//liczby
JButton siedem=new JButton("7");
siedem.setBounds(25, 75, 50, 25);
add(siedem);
siedem.addActionListener(new wpiszSiedem());
JButton cztery=new JButton("4");
cztery.setBounds(25, 110, 50, 25);
add(cztery);
cztery.addActionListener(new wpiszCztery());
JButton jeden=new JButton("1");
jeden.setBounds(25, 145, 50, 25);
add(jeden);
jeden.addActionListener(new wpiszJeden());
JButton osiem=new JButton("8");
osiem.setBounds(90, 75, 50, 25);
add(osiem);
osiem.addActionListener(new wpiszOsiem());
JButton piec=new JButton("5");
piec.setBounds(90, 110, 50, 25);
add(piec);
piec.addActionListener(new wpiszPiec());
JButton dwa=new JButton("2");
dwa.setBounds(90, 145, 50, 25);
add(dwa);
dwa.addActionListener(new wpiszDwa());
JButton dziewiec=new JButton("9");
dziewiec.setBounds(155, 75, 50, 25);
add(dziewiec);
dziewiec.addActionListener(new wpiszDziewiec());
JButton szesc=new JButton("6");
szesc.setBounds(155, 110, 50, 25);
add(szesc);
szesc.addActionListener(new wpiszSzesc());
JButton trzy=new JButton("3");
trzy.setBounds(155, 145, 50, 25);
add(trzy);
trzy.addActionListener(new wpiszTrzy());
JButton zero=new JButton("0");
zero.setBounds(25, 180, 50, 25);
add(zero);
zero.addActionListener(new wpiszZero());
JButton c=new JButton("C");
c.setBounds(90, 180, 50, 25);
add(c);
c.addActionListener(new usun());
JButton r=new JButton("=");
r.setBounds(155, 180, 50, 25);
add(r);
r.addActionListener(new rownaSie());
//dzialania
JButton dodawanie=new JButton("+");
dodawanie.setBounds(220, 75, 50, 25);
add(dodawanie);
dodawanie.addActionListener(new dodaj());
JButton odejmowanie=new JButton("-");
odejmowanie.setBounds(220, 110, 50, 25);
add(odejmowanie);
odejmowanie.addActionListener(new odejmij());
JButton mnozenie=new JButton("*");
mnozenie.setBounds(220, 145, 50, 25);
add(mnozenie);
mnozenie.addActionListener(new pomnoz());
JButton dzielenie = new JButton("/");
dzielenie.setBounds(220,180, 50, 25);
add(dzielenie);
dzielenie.addActionListener(new podziel());
add(panel);
}
char dzialanie;
long a, b, wynik =0;
class rownaSie implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
b = Integer.parseInt(okno.getText());
switch(dzialanie)
{
case '+':
wynik = a+b;
okno.setText(""+wynik);
case'-':
wynik = a-b;
okno.setText(""+wynik);
a = Integer.parseInt(okno.getText());;
case '*':
wynik = a/b;
case '/':
if(b!=0){
wynik = a*b;
okno.setText(""+wynik);
}
else {
okno.setText("Nie dziel przez zero");
}
default:
okno.setText("Jest blad : /");
}
}
}
class dodaj implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
a = Integer.parseInt(okno.getText());
dzialanie = '+';
okno.setText("");
}
}
class odejmij implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
a = Integer.parseInt(okno.getText());
dzialanie = '-';
okno.setText("");
}
}
class pomnoz implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
a = Integer.parseInt(okno.getText());
dzialanie = '*';
okno.setText("");
}
}
class podziel implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
a = Integer.parseInt(okno.getText());
dzialanie = '/';
okno.setText("");
}
}
class usun implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
a=0;
b=0;
okno.setText("");
}
}
class wpiszZero implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
okno.setText(okno.getText()+"0");
}
}
class wpiszJeden implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
okno.setText(okno.getText()+"1");
}
}
class wpiszDwa implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
okno.setText(okno.getText()+"2");
}
}
class wpiszTrzy implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
okno.setText(okno.getText()+"3");
}
}
class wpiszCztery implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
okno.setText(okno.getText()+"4");
}
}
class wpiszPiec implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
okno.setText(okno.getText()+"5");
}
}
class wpiszSzesc implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
okno.setText(okno.getText()+"6");
}
}
class wpiszSiedem implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
okno.setText(okno.getText()+"7");
}
}
class wpiszOsiem implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
okno.setText(okno.getText()+"8");
}
}
class wpiszDziewiec implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
okno.setText(okno.getText()+"9");
}
}
public static void main(String[] args) {
KalkulatorOkienkowy obiekt = new KalkulatorOkienkowy();
obiekt.setVisible(true);
}
}
Pozdrawiam