import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Cal
{
public static void main(String[] arg)
{
CalculatorFrame frame = new CalculatorFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class CalculatorFrame extends JFrame
{
public CalculatorFrame()
{
setTitle("Calculator");
setSize(WIDTH,HEIGTH);
setLocation(200,200);
Container contentPane = getContentPane();
CalculatorPanel panel = new CalculatorPanel();
contentPane.add(panel);
}
public static final int WIDTH = 200;
public static final int HEIGTH = 200;
}
class CalculatorPanel extends JPanel
{
public CalculatorPanel()
{
setLayout(new BorderLayout());
result = 0;
lastCommand = "=";
start = true;
display = new JTextField("0");
display.setEditable(false);
add(display,BorderLayout.NORTH);
ActionListener insert = new InsertAction();
ActionListener command = new CommandAction();
panel = new JPanel();
panel.setLayout(new GridLayout(4,4));
addButton("7",insert);
addButton("8",insert);
addButton("9",insert);
addButton("/",command);
addButton("4",insert);
addButton("5",insert);
addButton("6",insert);
addButton("*",command);
addButton("1",insert);
addButton("2",insert);
addButton("3",insert);
addButton("-",command);
addButton("0",insert);
addButton(".",insert);
addButton("=",insert);
addButton("+",command);
add(panel, BorderLayout.CENTER);
}
private void addButton(String label,ActionListener listener)
{
JButton button = new JButton(label);
button.addActionListener(listener);
panel.add(button);
}
private class InsertAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String input = event.getActionCommand();
if(start)
{
display.setText("");
start = false;
}
display.setText(display.getText()+input);
}
}
private class CommandAction implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
String command = evt.getActionCommand();
if(start)
{
if(command.equals("-"))
{
display.setText(command);
start = false;
}
else
lastCommand = command;
}
else
{
calculate(Double.parseDouble(display.getText()));
lastCommand = command;
start = true;
}
}
}
public void calculate(double x)
{
if(lastCommand.equals("+")) result += x;
else if (lastCommand.equals("-")) result += x;
else if (lastCommand.equals("*")) result *= x;
else if (lastCommand.equals("/")) result /= x;
else if (lastCommand.equals("=")) result = x;
display.setText(""+result);
}
private JTextField display;
private JPanel panel;
private double result;
private String lastCommand;
private boolean start;
}اليكم برنامج الالة الحاسبة
مغلق
هل البرنامج كامل ؟؟؟
انا جربته لكن ما يشتغل بشكل صحيح ،، ما قدرت اسوي اي عمليه حسابيه بالبرنامج !!
الاخ صلاح (سمي):D
انا ما وضعته في المنتدى الا وانا مجربة
لكن فيه مشكله بسيطة ما قدرت احلها واحاول احلها ان شاء الله
اذا اجريت عملية حسابية لا تضغط الزر(=)
لكن اظغط على اي زر واكمل العمليات الحسابية
انا الفكره عجبتني كثير و كثير من الاحيان افكر اسوي اله حاسبه لكن ما عرفت الطريقه الصحيحه للامر ...
المهم انا عندي واجهه لنفس البرنامج لكن بشكل منظم .. راح اضعه لك يوم الجمعه عشان تشتغل عليه.. لكن لا تنسى تحط اسمي مع اسمك بالـ About ;)
ما يشتغل البرنامج
انا وضعت بالمنتدى سابقا كود برنامج اله حاسبة ويعمل بشكل صحيح وبدون مشاكل لو تحب تشوفه سوى بحث عليه
وين الغيبة يا حسام ;)
هذا الموضوع مغلق.