Untitled
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...