Untitled

 avatar
unknown
plain_text
2 years ago
3.1 kB
4
Indexable
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Calculator 
{

	private JFrame calculatorFrame;
	private JLabel res;
	private JButton addb;
    private JButton subb;
    private JButton multb;
    private JButton divb;
    private JTextField leftOperand;
    private JTextField rightOperand;
	
	public Calculator()
		{
			calculatorFrame = new JFrame();
			calculatorFrame.setLocation(100,100);
			calculatorFrame.setSize(400,400);
			calculatorFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			calculatorFrame.setTitle("My Simple Caclculator");
	
			initializeComponents(); //create and add all components
	
			calculatorFrame.pack();
			calculatorFrame.setVisible(true);
		}
	
	public void initializeComponents()
	{
		
		JPanel buttonPanel = new JPanel();
		JButton addButton = new JButton("Add");
		JButton subButton = new JButton("Subtract");
		JButton multButton = new JButton("Multiply");
		JButton divButton = new JButton("Divide");
		
		JPanel resultLabel = new JPanel();
		JLabel result = new JLabel("result = ");
		
		JPanel txt = new JPanel();
		JTextField left = new JTextField();
		JTextField right  = new JTextField();
		res = new JLabel("Result = ");
		res.setName("resultLabel");
		
		buttonPanel.add(addButton);
		buttonPanel.add(subButton);
		buttonPanel.add(multButton);	
		buttonPanel.add(divButton);		
		resultLabel.add(result);
		txt.add(left);
		txt.add(right);
		
		addButton.setName("addButton");		
		subButton.setName("subButton");		
		multButton.setName("multButton");		
		divButton.setName("divButton");		
		result.setName("resultLabel");
		left.setName("leftOperand");
		right.setName("rightOperand");

		calculatorFrame.add(buttonPanel, BorderLayout.PAGE_END);
		calculatorFrame.add(resultLabel, BorderLayout.CENTER);
		calculatorFrame.add(txt, BorderLayout.PAGE_START);
		
	}
		
		public void actionPerformed(ActionEvent e)
	    {
	        try
	        {
	            double left = Double.parseDouble(left.getText());
	            double right = Double.parseDouble(right.getText());
	            double r = 0.0;
	            
	            if(e.getSource() == addB)
	            {
	                r = left + right;
	            }
	            
	            else if(e.getSource() == subB)
	            {
	                r = left - right;
	            }
	            
	            else if(e.getSource() == multButton)
	            {
	                r = left * right;
	            }
	            
	            else if(e.getSource() == divButton)
	            {
	                if(right == 0) throw new Exception();
	                r = left / right;
	            }
	            
	            res.setText("Result = " + (String.valueOf(r)));
	        }
	        
	        catch(Exception u)
	        {
	            res.setText("Result = Error");
	        }
	    }
	
	public JFrame getFrame()
	{
		return calculatorFrame;	
	}
	
	public static void main(String[] args)
	{
		Calculator calc = new Calculator(); //Method is done
	}
}
Editor is loading...