Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Simplified P5 with one button for addition
- // Author: Irena Pevac
- // Date: Nov 23, 2013
- // Project: Calculator
- // Event driven programming
- import java.text.DecimalFormat;
- import java.awt.*;
- import javax.swing.*;
- import java.awt.event.*;
- public class Calculator extends JApplet implements ActionListener
- {
- private String text1,text2,textResult;
- private JLabel label,labelEast,labelWest, labelResult;
- private JButton buttonPlus, buttonSubtract, buttonMultiply, buttonDivide, buttonModulo;
- private JTextField t1, t2;
- private JPanel panel, northPanel, midPanel, eastPanel, westPanel,
- southPanel;
- private int n1, n2, nResult;
- private double one,two,Result;
- private Font f = new Font("Arial", Font.BOLD, 22);
- public void init()
- {
- BorderLayout bLayout = new BorderLayout();
- GridLayout gLayout = new GridLayout(4,1);
- panel = new JPanel();
- panel.setLayout(bLayout);
- text1 = "";
- text2 = "";
- textResult = "";
- t1 = new JTextField(10);
- t1.setFont(new Font("Arial", Font.BOLD, 16));
- t1.setText(text1);
- t2 = new JTextField(10);
- t2.setFont(new Font("Arial", Font.BOLD, 16));
- t2.setText(text2);
- label = new JLabel("Type in two integer numbers and " +
- "press operation to calculate result.");
- labelEast = new JLabel( " Enter number2 ");
- labelWest = new JLabel( " Enter number1 ");
- labelResult = new JLabel(" Result: ");
- labelResult.setFont(f);
- northPanel = new JPanel();
- northPanel.setPreferredSize(new Dimension ( 500, 50));
- eastPanel = new JPanel();
- eastPanel.setPreferredSize(new Dimension ( 200, 100));
- westPanel = new JPanel();
- westPanel.setPreferredSize(new Dimension ( 200, 100));
- midPanel = new JPanel();
- midPanel.setPreferredSize(new Dimension ( 100, 100));
- midPanel.setBackground(Color.yellow);
- southPanel = new JPanel();
- southPanel.setPreferredSize(new Dimension ( 500, 250));
- eastPanel.add(labelEast);
- eastPanel.add(t2);
- westPanel.add(labelWest);
- westPanel.add(t1);
- northPanel.add(label);
- southPanel.add(labelResult);
- midPanel.setLayout(new BoxLayout(midPanel, BoxLayout.Y_AXIS));
- buttonPlus = (new JButton(" + "));
- buttonPlus.setFont(f);
- buttonPlus.setAlignmentX(Component.CENTER_ALIGNMENT);
- buttonPlus.setAlignmentY(Component.CENTER_ALIGNMENT);
- midPanel.add(buttonPlus);
- buttonSubtract = (new JButton(" - "));
- buttonSubtract.setFont(f);
- buttonSubtract.setAlignmentX(Component.CENTER_ALIGNMENT);
- buttonSubtract.setAlignmentY(Component.CENTER_ALIGNMENT);
- midPanel.add(buttonSubtract);
- buttonMultiply= (new JButton(" * "));
- buttonMultiply.setFont(f);
- buttonMultiply.setAlignmentX(Component.CENTER_ALIGNMENT);
- buttonMultiply.setAlignmentY(Component.CENTER_ALIGNMENT);
- midPanel.add(buttonMultiply);
- buttonDivide= (new JButton(" / "));
- buttonDivide.setFont(f);
- buttonDivide.setAlignmentX(Component.CENTER_ALIGNMENT);
- buttonDivide.setAlignmentY(Component.CENTER_ALIGNMENT);
- midPanel.add(buttonDivide);
- buttonModulo= (new JButton(" % "));
- buttonModulo.setFont(f);
- buttonModulo.setAlignmentX(Component.CENTER_ALIGNMENT);
- buttonModulo.setAlignmentY(Component.CENTER_ALIGNMENT);
- midPanel.add(buttonModulo);
- panel.add(northPanel, BorderLayout.NORTH);
- panel.add(southPanel, BorderLayout.SOUTH);
- panel.add(eastPanel, BorderLayout.EAST);
- panel.add(westPanel, BorderLayout.WEST);
- panel.add(midPanel, BorderLayout.CENTER);
- buttonPlus.addActionListener(this);
- buttonSubtract.addActionListener(this);
- buttonMultiply.addActionListener(this);
- buttonDivide.addActionListener(this);
- buttonModulo.addActionListener(this);
- add(panel);
- t1.setFocusable(true);
- }
- public void actionPerformed(ActionEvent e)
- {
- if (e.getSource() == buttonPlus)
- {
- text1 = t1.getText();
- n1 = Integer.parseInt(text1);
- text2 = t2.getText();
- n2 = Integer.parseInt(text2);
- nResult = n1+n2;
- labelResult.setText( "RESULT: " + text1 + " + " + text2 + " = " + nResult);
- }
- if(e.getSource()== buttonSubtract)
- {
- text1 = t1.getText();
- n1 = Integer.parseInt(text1);
- text2 = t2.getText();
- n2 = Integer.parseInt(text2);
- nResult = n1-n2;
- labelResult.setText( "RESULT: " + text1 + " - " + text2 + " = " + nResult);
- }
- if(e.getSource()== buttonMultiply)
- {
- text1 = t1.getText();
- n1 = Integer.parseInt(text1);
- text2 = t2.getText();
- n2 = Integer.parseInt(text2);
- nResult = n1*n2;
- labelResult.setText( "RESULT: " + text1 + " * " + text2 + " = " + nResult);
- }
- if(e.getSource()== buttonDivide)
- {
- DecimalFormat twoDForm = new DecimalFormat("#.##");
- text1 = t1.getText();
- one = Double.parseDouble(text1);
- text2 = t2.getText();
- two = Double.parseDouble(text2);
- Result = one/two;
- labelResult.setText( "RESULT: " + text1 + " / " + text2 + " = " + twoDForm.format(Result));
- }
- if(e.getSource()== buttonModulo)
- {
- text1 = t1.getText();
- n1 = Integer.parseInt(text1);
- text2 = t2.getText();
- n2 = Integer.parseInt(text2);
- nResult = n1%n2;
- labelResult.setText( "RESULT: " + text1 + " % " + text2 + " = " + nResult);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement