Cześć wszystkim
Muszę napisać kalkilator w Javie. Ma on wyglądać podobnie do kalkulatora z systemu Windows. Mam już dodane wszystkie przyciski oraz pole JTextField w którym będą wyświetlane wybrane liczby i wynik wg szablonu: liczba1+liczba2=wynik.
Nie wiem jednak w jaki sposób pobrać który przycisk został wciśnięty i jak wpisać go do pola JFieldText. Poniżej wstawiam Wam kod który jak na razie opracowałem.
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.util.Scanner;
import javax.swing.*;
import java.awt.*;
import java.awt.BasicStroke;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.event.*;
public class Program2 {
/**
* @param args
*/
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
SmpWindow2 wnd = new SmpWindow2();
wnd.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
wnd.setVisible(true);
wnd.setBounds( 70, 70, 500, 450);
wnd.setTitle( "Kalkulator" );
}
}
class DrawWndPane2 extends JPanel implements ActionListener
{
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JButton button5;
JButton button6;
JButton button7;
JButton button8;
JButton button9;
JButton button0;
JButton dodawanie;
JButton odejmowanie;
JButton mnozenie;
JButton dzielenie;
JButton buttonrownania;
JButton kasowanie;
JTextField OknoWynik;
String message;
DrawWndPane2()
{
super();
// Wyłączanie automatycznego pozycjonowania komponentów
setLayout( null );
// Utworzenie komponentów i dodanie ich do panelu okna
OknoWynik = new JTextField(" ");
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" );
buttonrownania = new JButton("=");
dodawanie = new JButton("+");
odejmowanie = new JButton("-");
mnozenie = new JButton("*");
dzielenie = new JButton("/");
kasowanie = new JButton("C");
button1.setBounds( 100, 100, 70, 30 );
button2.setBounds( 190, 100, 70, 30 );
button3.setBounds( 280, 100, 70, 30 );
button4.setBounds( 100, 150, 70, 30 );
button5.setBounds( 190, 150, 70, 30 );
button6.setBounds( 280, 150, 70, 30 );
button7.setBounds( 100, 200, 70, 30 );
button8.setBounds( 190, 200, 70, 30 );
button9.setBounds( 280, 200, 70, 30 );
button0.setBounds( 190, 250, 70, 30 );
kasowanie.setBounds(100,250,70,30);
buttonrownania.setBounds(280,250,70,30);
dodawanie.setBounds(360,100,70,30);
odejmowanie.setBounds(360,150,70,30);
mnozenie.setBounds(360,200,70,30);
dzielenie.setBounds(360,250,70,30);
OknoWynik.setBounds(25,25,400,50);
add( button1 );
add( button2 );
add( button3 );
add (button4);
add (button5);
add (button6);
add (button7);
add (button8);
add (button9);
add (button0);
add (buttonrownania);
add (dodawanie);
add (odejmowanie);
add (mnozenie);
add (dzielenie);
add (OknoWynik);
add (kasowanie);
message = "Nie nacisnieto zadnego przycisku";
// Dodawanie słuchacza zdarzeń - tego samego dla wszystkich przycisków
button1.addActionListener( this );
button2.addActionListener( this );
button3.addActionListener( this );
button4.addActionListener( this );
button5.addActionListener( this );
button6.addActionListener( this );
button7.addActionListener( this );
button8.addActionListener( this );
button9.addActionListener( this );
button0.addActionListener( this );
}
public void paintComponent( Graphics g)
{
super.paintComponent(g);
}
public void actionPerformed( ActionEvent event)
{
}
}
class SmpWindow2 extends JFrame
{
public SmpWindow2()
{
// Pozyskanie dostepu do powierzchni rysowania okna
Container contents = getContentPane();
contents.add( new DrawWndPane2() );
}
}
dodane znaczniki <code class="java"> - fp