All pastes #919788 Raw Edit

Anonymous

public java v1 · immutable
#919788 ·published 2008-02-27 00:09 UTC
rendered paste body
//Simple Java Calculator with changable visual themesimport java.awt.*;import java.awt.event.*;import javax.swing.*;class MiniCalc extends JFrame implements ActionListener{    double total = 0;    String operation = "blank";    JTextField cnumber = new JTextField(20);    Color color1 = Color.black;    Color color2 = Color.red;    Box screen = new Box(BoxLayout.Y_AXIS);    static JButton[] buttons = new JButton[16];    public static void main(String[] args)    {        MiniCalc program = new MiniCalc();        program.run();    }    public void run()    {        setTitle("MiniCalc");        setDefaultCloseOperation(EXIT_ON_CLOSE);        Container pane = new Container();        ChangeColor colList1 = new ChangeColor(color1);        ChangeColor2 colList2 = new ChangeColor2(color2);        JMenuBar menu = menuCreation(colList1, colList2);        Box box = boxCreation(pane);        screen.add(menu);        screen.add(box);        screen.add(pane);        add(screen);        pack();        setVisible(true);    }    JMenuBar menuCreation(ChangeColor colList1, ChangeColor2 colList2)    {        JMenuBar menu = new JMenuBar();        JMenu file = nMenu("File", 'F', menu);        JMenu scheme = nMenu("Scheme", 'S', menu);        JMenuItem exit = new JMenuItem("Exit", 'x');        file.add(exit);        JMenu col1 = nMenu2("1st Colour", '1', scheme);        JMenu col2 = nMenu2("2nd Colour", '2', scheme);        exit.addActionListener(new ExitProg());        JMenuItem i1 = colMenu("Black", col1, 'l', colList1);        JMenuItem i2 = colMenu2("Black", col2, 'l', colList2);        JMenuItem i3 = colMenu("Blue", col1, 'B', colList1);        JMenuItem i4 = colMenu2("Blue", col2, 'B', colList2);        JMenuItem i5 = colMenu("Green", col1,'G', colList1);        JMenuItem i6 = colMenu2("Green", col2,'G', colList2);        JMenuItem i7 = colMenu("Orange", col1,'r', colList1);        JMenuItem i8 = colMenu2("Orange", col2,'r', colList2);        JMenuItem i9 = colMenu("Pink", col1,'P', colList1);        JMenuItem i10 = colMenu2("Pink", col2,'P', colList2);        JMenuItem i11 = colMenu("Red", col1, 'd', colList1);        JMenuItem i12 = colMenu2("Red", col2, 'd', colList2);        JMenuItem i13 = colMenu("White", col1, 'W', colList1);        JMenuItem i14 = colMenu2("White", col2, 'W', colList2);        JMenuItem i15 = colMenu("Yellow", col1, 'Y', colList1);        JMenuItem i16 = colMenu2("Yellow", col2, 'Y', colList2);        return menu;    }    Box boxCreation(Container pane)    {        Box box = new Box(BoxLayout.X_AXIS);        box.add(new JLabel("Result"));        box.add(cnumber);        cnumber.setForeground(color2);        cnumber.setBackground(color1);        cnumber.setText("0");        pane.setLayout(new GridLayout(4,4));        for (int i = 6; i < 9; i++)        {            buttons[i] = new JButton("" + (i + 1));            pane.add(buttons[i]);            buttons[i].setBackground(color1);            buttons[i].setForeground(color2);        }        buttons[9] = new JButton("+");        pane.add(buttons[9]);        buttons[9].setBackground(color1);        buttons[9].setForeground(color2);        for (int i = 3; i < 6; i++)        {            buttons[i] = new JButton("" + (i + 1));            pane.add(buttons[i]);            buttons[i].setBackground(color1);            buttons[i].setForeground(color2);        }        buttons[10] = new JButton("-");        pane.add(buttons[10]);        buttons[10].setBackground(color1);        buttons[10].setForeground(color2);        for (int i = 0; i < 3; i++)        {            buttons[i] = new JButton("" + (i + 1));            pane.add(buttons[i]);            buttons[i].setBackground(color1);            buttons[i].setForeground(color2);        }        buttons[11] = new JButton("*");        pane.add(buttons[11]);        buttons[11].setBackground(color1);        buttons[11].setForeground(color2);        buttons[12] = new JButton("0");        pane.add(buttons[12]);        buttons[12].setBackground(color1);        buttons[12].setForeground(color2);        buttons[13] = new JButton(".");        pane.add(buttons[13]);        buttons[13].setBackground(color1);        buttons[13].setForeground(color2);        buttons[14] = new JButton("=");        pane.add(buttons[14]);        buttons[14].setBackground(color1);        buttons[14].setForeground(color2);        buttons[15] = new JButton("/");        pane.add(buttons[15]);        buttons[15].setBackground(color1);        buttons[15].setForeground(color2);        for (int i = 0; i < buttons.length; i++)            buttons[i].addActionListener(this);        return box;    }    public void actionPerformed(ActionEvent e)    {        String pressedButton = e.getActionCommand();        if (pressedButton.equals("+"))        {            total = Double.parseDouble(cnumber.getText());            operation = "add";            cnumber.setText("0");        }        else if (pressedButton.equals("-"))        {            total = Double.parseDouble(cnumber.getText());            operation = "minus";            cnumber.setText("0");        }        else if (pressedButton.equals("/"))        {            total = Double.parseDouble(cnumber.getText());            operation = "divide";            cnumber.setText("0");        }        else if (pressedButton.equals("*"))        {            total = Double.parseDouble(cnumber.getText());            operation = "multiply";            cnumber.setText("0");        }        else if (pressedButton.equals("="))        {            if (operation.equals("add"))            {                total = total + Double.parseDouble(cnumber.getText());                cnumber.setText(String.valueOf(total));                operation = "none";            }            if (operation.equals("minus"))            {                total = total - Double.parseDouble(cnumber.getText());                cnumber.setText(String.valueOf(total));                operation = "none";            }            if (operation.equals("multiply"))            {                total = total * Double.parseDouble(cnumber.getText());                cnumber.setText(String.valueOf(total));                operation = "none";            }            if (operation.equals("divide"))            {                total = total / Double.parseDouble(cnumber.getText());                cnumber.setText(String.valueOf(total));                operation = "none";            }        }        else        {            if (pressedButton.equals("."))            {                if (cnumber.getText().equals("0"))                    cnumber.setText("0.");                else if (cnumber.getText().indexOf('.') < 0)                    cnumber.setText(cnumber.getText()+pressedButton);            }            else if (cnumber.getText().equals("0"))                cnumber.setText(pressedButton);            else cnumber.setText(cnumber.getText() + pressedButton);        }    }    JLabel label(String text, Container pane)    {        JLabel l = new JLabel (text);        pane.add(l);        l.setForeground(color2);        return l;    }    JMenuItem colMenu(String text, JMenu col1, char x, ChangeColor listener)    {        JMenuItem col = new JMenuItem(text, x);        col.addActionListener(listener);        col1.add(col);        return col;    }    JMenuItem colMenu2(String text, JMenu col1, char x, ChangeColor2 listener)    {        JMenuItem col = new JMenuItem(text, x);        col.addActionListener(listener);        col1.add(col);        return col;    }    JMenu nMenu(String text, char x, JMenuBar mMenu)    {        JMenu menu = new JMenu(text);        menu.setMnemonic(x);        mMenu.add(menu);        return menu;    }    JMenu nMenu2(String text, char x, JMenu mMenu)    {        JMenu menu = new JMenu(text);        menu.setMnemonic(x);        mMenu.add(menu);        return menu;    }    class ExitProg implements ActionListener    {        public void actionPerformed(ActionEvent e)        {            System.exit(0);        }    }    class ChangeColor implements ActionListener    {        ChangeColor(Color selected)        {            Color x = selected;        }        public void actionPerformed(ActionEvent e)        {            if (e.getActionCommand().equals("Black")) color1 = Color.black;            else if(e.getActionCommand().equals("Blue")) color1=Color.blue;            else if(e.getActionCommand().equals("Green")) color1 =Color.green;            else if(e.getActionCommand().equals("Orange")) color1=Color.orange;            else if(e.getActionCommand().equals("Pink")) color1=Color.pink;            else if(e.getActionCommand().equals("Red")) color1=Color.red;            else if(e.getActionCommand().equals("White")) color1=Color.white;            else color1=Color.yellow;            screen.removeAll();            run();        }    }    class ChangeColor2 implements ActionListener    {        ChangeColor2(Color selected)        {            Color y = selected;        }        public void actionPerformed(ActionEvent e)        {            if (e.getActionCommand().equals("Black")) color2 = Color.black;            else if(e.getActionCommand().equals("Blue")) color2=Color.blue;            else if(e.getActionCommand().equals("Green")) color2 =Color.green;            else if(e.getActionCommand().equals("Orange")) color2=Color.orange;            else if(e.getActionCommand().equals("Pink")) color2=Color.pink;            else if(e.getActionCommand().equals("Red")) color2=Color.red;            else if(e.getActionCommand().equals("White")) color2=Color.white;            else color2=Color.yellow;            screen.removeAll();            run();        }        private Color y;    }}