Forum zamknięte. Zapraszamy do grupy na Facebooku
Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Kalkulator - prośba o pomoc
03-19-2013, 04:52 PM
Post: #1
Kalkulator - prośba o pomoc
Witam...

Proszę o pomoc zdefiniowania "JButton" w programie obiektowym kalkulator, tzn chodzi mi o to iż podając mu liczby i wykonując działania po naciśnięciu znaku "=" był wynik. Jak należy zdefiniować algorytm aby kalkulator działał poprawnie ?
Nie rozumiem do końca pisania algorytmów. Z góry dziękuję za pomoc.
Poniżej mój kod:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;


public class Cal1 extends JFrame
{
static JTextField tf;
double result;

public static void main(String[] args)
{
JFrame frame = new JFrame("Kalkulator");
frame.setSize(220, 300);
frame.setLocation(300, 300);
frame.setResizable(false);
frame.setLayout(null);

tf = new JTextField();
tf.setBounds(10, 10, 200, 50);
Font f = new Font("New Times Roman",Font.BOLD,24);
tf.setFont(f);
tf.setHorizontalAlignment(JTextField.RIGHT);
frame.add(tf);

JButton button = new JButton("1");
button.setBounds(10, 70, 40, 40);
button.setBorder(null);
frame.add(button);

JButton button1 = new JButton("2");
button1.setBounds(60, 70, 40, 40);
button1.setBorder(null);
frame.add(button1);

JButton button2 = new JButton("3");
button2.setBounds(110, 70, 40, 40);
button2.setBorder(null);
frame.add(button2);

JButton button3 = new JButton("/");
button3.setBounds(160, 70, 40, 40);
button3.setBorder(null);
frame.add(button3);

JButton button4 = new JButton("4");
button4.setBounds(10, 120, 40, 40);
button4.setBorder(null);
frame.add(button4);

JButton button5 = new JButton("5");
button5.setBounds(60, 120, 40, 40);
button5.setBorder(null);
frame.add(button5);

JButton button6 = new JButton("6");
button6.setBounds(110, 120, 40, 40);
button6.setBorder(null);
frame.add(button6);

JButton button7 = new JButton("*");
button7.setBounds(160, 120, 40, 40);
button7.setBorder(null);
frame.add(button7);

JButton button8 = new JButton("7");
button8.setBounds(10, 170, 40, 40);
button8.setBorder(null);
frame.add(button8);

JButton button9 = new JButton("8");
button9.setBounds(60, 170, 40, 40);
button9.setBorder(null);
frame.add(button9);

JButton button10 = new JButton("9");
button10.setBounds(110, 170, 40, 40);
button10.setBorder(null);
frame.add(button10);

JButton button11 = new JButton("-");
button11.setBounds(160, 170, 40, 40);
button11.setBorder(null);
frame.add(button11);

JButton button12 = new JButton("0");
button12.setBounds(10, 220, 40, 40);
button12.setBorder(null);
frame.add(button12);

JButton button13 = new JButton(".");
button13.setBounds(60, 220, 40, 40);
button13.setBorder(null);
frame.add(button13);

JButton button14 = new JButton("=");
button14.setBounds(110, 220, 40, 40);
button14.setBorder(null);
frame.add(button14);

JButton button15 = new JButton("+");
button15.setBounds(160, 220, 40, 40);
button15.setBorder(null);
frame.add(button15);

button.addActionListener(new ActionListener()
{

public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+"1");
}
});

button1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+"2");
}
});
button2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+"3");
}
});
button4.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+"4");
}
});
button5.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+"5");
}
});
button6.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+"6");
}
});
button8.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+"7");
}
});
button9.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+"8");
}
});
button10.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+"9");
}
});
button12.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+"0");
}
});
button13.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
tf.setText(tf.getText()+".");
}
});

frame.setVisible(true);

}

}
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
09-08-2013, 08:48 AM
Post: #2
RE: Kalkulator - prośba o pomoc
Przede wszystkim musisz zdefiniować zdarzenie również dla przycisku =, czyli u ciebie button14. Następnie musisz odczytać jakie działanie zostało wybrane. Najlepiej w tym celu posłużyć się jakąś zmienną tymczasową, która jest ustawiana w momencie kliknięcia przycisku z działaniem. Po odczytaniu pól z wartościami oraz rodzaju działania wykonujesz obliczenie i wynik wstawiasz jako tekst do pola tekstowego wynik.

------------------------------------------------------------------------------
Eurologo tworzenie stron internetowych
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości