Untitled
unknown
plain_text
3 years ago
3.1 kB
7
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...