计算器小程序(applet)

来源:互联网 发布:淘宝抢购小米手机 编辑:程序博客网 时间:2024/06/05 18:18

最近感觉好多初学者都在困惑小程序这一块,具体怎么做开端不是很快。因此在此献丑写了一个简单的计算器,大概的解说一下基本写法。具体就是一些空间的使用和响应。代码如下;

import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ContainerListener;
import java.io.File;
import java.net.URL;
//import java.io.file;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;


public  class Calculate1 extends Applet {
JButton bt1 = new JButton("1");
JButton bt2 = new JButton("2");
JButton bt3 = new JButton("3");
JButton bt4 = new JButton("4");
JButton bt5 = new JButton("5");
JButton bt6 = new JButton("6");
JButton bt7 = new JButton("7");
JButton bt8 = new JButton("8");
JButton bt9 = new JButton("9");
JButton bt10 = new JButton("0");
JButton bt11 = new JButton("=");
JButton bt12 = new JButton("CE");
JButton bt13 = new JButton("+");
JButton bt14 = new JButton("-");
JButton bt15 = new JButton("*");
JButton bt16 = new JButton("/");
JTextField text=new JTextField("0",16);
String result="";
String fuhao=""; 
String end="";
double num1=0;
double num2=0;
 
double answer=0;

     
public void init(){

// this.setBounds(0,0,450,400);//设置初始窗口的大小

JPanel p1=new JPanel();
text.setHorizontalAlignment(JTextField.RIGHT);
add(p1);
p1.add(text,"North");
add(text);

Panel p2=new Panel();
add(p2);
p2.setLayout(new GridLayout(4,4));
p2.add(bt1);
p2.add(bt2);
p2.add(bt3);
p2.add(bt13);
p2.add(bt4);
p2.add(bt5);
p2.add(bt6);
p2.add(bt14);
p2.add(bt7);
p2.add(bt8);
p2.add(bt9);
p2.add(bt15);
p2.add(bt10);
p2.add(bt11);
p2.add(bt12);
p2.add(bt16);
bt1.addActionListener(new actionnumber());
bt2.addActionListener(new actionnumber());
bt3.addActionListener(new actionnumber());
bt4.addActionListener(new actionnumber());
bt5.addActionListener(new actionnumber());
bt6.addActionListener(new actionnumber());
bt7.addActionListener(new actionnumber());
bt8.addActionListener(new actionnumber());
bt9.addActionListener(new actionnumber());
bt10.addActionListener(new actionnumber());
bt11.addActionListener(new actionnumber());
bt12.addActionListener(new actionnumber());
bt13.addActionListener(new actionnumber());
bt14.addActionListener(new actionnumber());
bt15.addActionListener(new actionnumber());
bt16.addActionListener(new actionnumber());
}

class actionnumber implements ActionListener  
    {  
public void tishi(){
JOptionPane.showMessageDialog(text, JOptionPane.WARNING_MESSAGE);
}
        public void actionPerformed(ActionEvent e)  
        {  
        String s;
        s=e.getActionCommand();
            if(s.equals("+")||s.equals("-")||s.equals("*")||s.equals("/"))
        {
        fuhao=s;
//         System.out.println("fuhao");
        num1=Double.parseDouble(result);
        end=Double.toString(num1);//将op1转换成字符;
        result="";
      text.setText(end);//输出第一次的结果;
       
        }
            else if(s.equals("=")){
        num2=Double.parseDouble(result);
        if(fuhao.equals("+")){
        answer=num1+num2;
        }
        if(fuhao.equals("-")){
        answer=num1-num2;
        }
        if(fuhao=="*"){
        answer=num1*num2;
        }
        if(fuhao=="/"){
        if(num2==0){
        JOptionPane.showMessageDialog(null, "除数不能为0.", "警告",JOptionPane.ERROR_MESSAGE);
        answer=num1;
        }
        else{
        answer=num1/num2;
        }
        }
        end=Double.toString(answer);
        text.setText(end);
        result=Double.toString(answer);
        }
            else if(s.equals("CE")){
        result="";
        text.setText(result);    
        }
            else{
        result=result+s;
        text.setText(result);
        }


       }
       
       
}
      


}

结果如下:





0 0
原创粉丝点击