⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 computerpad.java

📁 用JAVA编辑的一个语音计算器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.LinkedList;
import java.text.NumberFormat;
import java.io.*;
import java.applet.*;
import java.net.*;
public class ComputerPad extends Frame implements ActionListener 
{
   FileDialog filedialog_save,filedialog_load;
   NumberButton numberButton[];                  
   OperationButton oprationButton[];
   MenuBar bar;
   Menu fMenu;
   MenuItem 保存; 
   TextArea text;
   BufferedReader in;
   FileReader file_reader;
   BufferedWriter out;
   FileWriter tofile;
   Button 小数点按钮,正负号按钮,退格按钮,
          求倒数按钮,等号按钮,清零按钮,
          sin按钮,log按钮,平方按钮,tan按钮;
   AudioClip clip1,clip2,clip3,clip4,
             clip5,clip6,clip7,clip8,
             clip9,clip0,clipjia,clipjian,
             clipcg,clipcu,clipdeng,clipdian,
             cliptui,clipfu,clipdao,clipzheng,
             clipdui,clipqie,clipkai,clipqing;
   URL url1,url2,url3,url4,
   			url5,url6,url7,url8,
   			url9,url0,urljia,urljian,
   			urlcg,urlcu,urldeng,urldian,urltui,
   			urlfu,urldao,urlzheng,urldui,
   			urlqie,urlkai,urlqing;
   File voiceFile1=new File("1.wav");
   File voiceFile2=new File("2.wav");
   File voiceFile3=new File("3.wav");
   File voiceFile4=new File("4.wav");
   File voiceFile5=new File("5.wav");
   File voiceFile6=new File("6.wav");
   File voiceFile7=new File("7.wav");
   File voiceFile8=new File("8.wav");
   File voiceFile9=new File("9.wav");
   File voiceFile0=new File("0.wav");
   File voiceFilejia=new File("jia.wav");
   File voiceFilejian=new File("jian.wav");
   File voiceFilecg=new File("cg.wav");
   File voiceFilecu=new File("cu.wav");
   File voiceFiledeng=new File("deng.wav");
   File voiceFiledian=new File("dian.wav");
   File voiceFiletui=new File("tui.wav");
   File voiceFilefu=new File("fu.wav");
   File voiceFiledao=new File("dao.wav");
   File voiceFilezheng=new File("zheng.wav");
   File voiceFiledui=new File("dui.wav");
   File voiceFileqie=new File("qie.wav");
   File voiceFilekai=new File("kai.wav");
   File voiceFileqing=new File("qing.wav");         
   Panel panel;                                 
   JTextField resultShow;                        
   String 运算符号[]={"+","-","*","/"};
   JFileChooser fileChooser=null;
   LinkedList 链表;                              
   boolean  是否按下等号=false;                  
  
 public ComputerPad()
   {
     super("计算器");
        try
        {
            url1=voiceFile1.toURL();
            clip1=Applet.newAudioClip(url1);
        }
     catch(Exception ee)
        {
        }
        try
        {
            url2=voiceFile2.toURL();
            clip2=Applet.newAudioClip(url2);
        }
     catch(Exception ee)
        {
        }
        try
        {
            url3=voiceFile3.toURL();
            clip3=Applet.newAudioClip(url3);
        }
     catch(Exception ee)
        {
        }
        try
        {
            url4=voiceFile4.toURL();
            clip4=Applet.newAudioClip(url4);
        }
     catch(Exception ee)
        {
        }
        try
        {
            url5=voiceFile5.toURL();
            clip5=Applet.newAudioClip(url5);
        }
     catch(Exception ee)
        {
        }
        try
        {
            url6=voiceFile6.toURL();
            clip6=Applet.newAudioClip(url6);
        }
     catch(Exception ee)
        {
        }
        try
        {
            url7=voiceFile7.toURL();
            clip7=Applet.newAudioClip(url7);
        }
     catch(Exception ee)
        {
        }
        try
        {
            url8=voiceFile8.toURL();
            clip8=Applet.newAudioClip(url8);
        }
     catch(Exception ee)
        {
        }
        try
        {
            url9=voiceFile9.toURL();
            clip9=Applet.newAudioClip(url9);
        }
     catch(Exception ee)
        {
        }
        try
        {
            url0=voiceFile0.toURL();
            clip0=Applet.newAudioClip(url0);
        }
     catch(Exception ee)
        {
        }
     try
        {
            urljia=voiceFilejia.toURL();
            clipjia=Applet.newAudioClip(urljia);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urljian=voiceFilejian.toURL();
            clipjian=Applet.newAudioClip(urljian);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urlcg=voiceFilecg.toURL();
            clipcg=Applet.newAudioClip(urlcg);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urlcu=voiceFilecu.toURL();
            clipcu=Applet.newAudioClip(urlcu);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urldeng=voiceFiledeng.toURL();
            clipdeng=Applet.newAudioClip(urldeng);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urldian=voiceFiledian.toURL();
            clipdian=Applet.newAudioClip(urldian);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urltui=voiceFiletui.toURL();
            cliptui=Applet.newAudioClip(urltui);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urldao=voiceFiledao.toURL();
            clipdao=Applet.newAudioClip(urldao);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urlfu=voiceFilefu.toURL();
            clipfu=Applet.newAudioClip(urlfu);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urlzheng=voiceFilezheng.toURL();
            clipzheng=Applet.newAudioClip(urlzheng);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urldui=voiceFiledui.toURL();
            clipdui=Applet.newAudioClip(urldui);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urlqie=voiceFileqie.toURL();
            clipqie=Applet.newAudioClip(urlqie);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urlkai=voiceFilekai.toURL();
            clipkai=Applet.newAudioClip(urlkai);
        }
     catch(Exception ee)
        {
        }
        try
        {
            urlqing=voiceFileqing.toURL();
            clipqing=Applet.newAudioClip(urlqing);
        }
     catch(Exception ee)
        {
        }
     bar=new MenuBar();
     fMenu=new Menu("编辑");
     保存=new MenuItem("保存");
     fMenu.add(保存);
     bar.add(fMenu);
     setMenuBar(bar);
     filedialog_save=new FileDialog(this,"保存运算过程",FileDialog.SAVE);
     保存.addActionListener(this);
     filedialog_save.addWindowListener(new WindowAdapter()
     {public void windowClosing(WindowEvent e)
     { filedialog_save.setVisible(false);
     }
     });													
     链表=new LinkedList();
     numberButton=new NumberButton[10];          
     for(int i=0;i<=9;i++)
        {
          numberButton[i]=new NumberButton(i);
          numberButton[i].addActionListener(this);
        }
     oprationButton=new OperationButton[4];    
     for(int i=0;i<4;i++)
        {
          oprationButton[i]=new OperationButton(运算符号[i]);
          oprationButton[i].addActionListener(this);
        }
     小数点按钮=new Button(".");
     正负号按钮  =new Button("+/-"); 
     等号按钮=new Button("=");
     求倒数按钮=new Button("1/x");
     退格按钮=new Button("退格");
     清零按钮=new Button("C");
     sin按钮=new Button("sin");
     log按钮=new Button("log");
     tan按钮=new Button("tan");
     平方按钮=new Button("sqrt");
     清零按钮.setForeground(Color.red);
     退格按钮.setForeground(Color.red);
     等号按钮.setForeground(Color.red);
     求倒数按钮.setForeground(Color.blue);
     正负号按钮.setForeground(Color.blue);
     小数点按钮.setForeground(Color.blue);
     sin按钮.setForeground(Color.blue);
     log按钮.setForeground(Color.blue);
     tan按钮.setForeground(Color.blue);
     平方按钮.setForeground(Color.blue);
     退格按钮.addActionListener(this);
     清零按钮.addActionListener(this);
     等号按钮.addActionListener(this);
     小数点按钮.addActionListener(this);
     正负号按钮.addActionListener(this);
     求倒数按钮.addActionListener(this);
     sin按钮.addActionListener(this);
     log按钮.addActionListener(this);
     tan按钮.addActionListener(this);
     平方按钮.addActionListener(this);
     resultShow=new JTextField(10);
     resultShow.setHorizontalAlignment(JTextField.RIGHT);
     resultShow.setForeground(Color.blue);
     resultShow.setFont(new Font("TimesRoman",Font.PLAIN,14));
     resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
     resultShow.setBackground(Color.white); 
     resultShow.setEditable(false);
     panel=new Panel();                                             
     panel.setLayout(new GridLayout(4,5)); 
     
     panel.add(numberButton[1]);
     panel.add(numberButton[2]);
     panel.add(numberButton[3]);
     panel.add(oprationButton[0]);
     panel.add(清零按钮);
     panel.add(sin按钮);
     
     panel.add(numberButton[4]);
     panel.add(numberButton[5]);
     panel.add(numberButton[6]);
     panel.add(oprationButton[1]);
     panel.add(退格按钮);
     panel.add(log按钮);
     
     panel.add(numberButton[7]);
     panel.add(numberButton[8]);
     panel.add(numberButton[9]);
     panel.add(oprationButton[2]);
     panel.add(求倒数按钮);
     panel.add(tan按钮);
  
     panel.add(numberButton[0]);
     panel.add(正负号按钮);
     panel.add(小数点按钮);
     panel.add(oprationButton[3]);
     panel.add(等号按钮);
     panel.add(平方按钮);
     add(panel,BorderLayout.CENTER);
     add(resultShow,BorderLayout.NORTH);
    
     addWindowListener(new WindowAdapter()
                    { public void windowClosing(WindowEvent e)
                       {
                         System.exit(0);
                       }
                    });
    setVisible(true);
    setBounds(100,50,240,180);
    setResizable(false);
    validate();
   }
 public void actionPerformed(ActionEvent e)
   {
   
    if(e.getSource() instanceof NumberButton)   
     {
       NumberButton b=(NumberButton)e.getSource();
        if(链表.size()==0) 
         {
           int number=b.getNumber();
           if (number==1)
           {
           	clip1.play();
          }
           		else if (number==2)
           		{
           		clip2.play();
           		} 
           		else if (number==3)
           		{
           		clip3.play();
           		}
           else if (number==4)
           		{
           		clip4.play();
           		}
         else if (number==5)
           		{
           		clip5.play();
           		}
          else if (number==6)
           		{
           		clip6.play();
           		}
           	else if (number==7)
           		{
           		clip7.play();
           		}
           		else if (number==8)
           		{
           		clip8.play();
           		} 
           		else if (number==9)
           		{
           		clip9.play();
           		}
           		else if (number==0)
           		{
           		clip0.play();
           		}               
           链表.add(""+number);               
           resultShow.setText(""+number);
           是否按下等号=false;
         }
        
        else if(链表.size()==1&&是否按下等号==false)
         {
           int number=b.getNumber();
           if (number==1)
           {
           	clip1.play();
          }
          else if (number==2)
           		{
           		clip2.play();
           		}
           		else if (number==3)
           		{
           		clip3.play();
           		}
           	else if (number==4)
           		{
           		clip4.play();
           		}
           		else if (number==5)
           		{
           		clip5.play();
           		}
           	else if (number==6)
           		{
           		clip6.play();
           		}
           			else if (number==7)
           		{
           		clip7.play();
           		}
           		else if (number==8)
           		{
           		clip8.play();
           		}
           		else if (number==9)
           		{
           		clip9.play();
           		}
           		else if (number==0)
           		{
           		clip0.play();
           		}                 
           String num=(String)链表.getFirst();
           String s=num.concat(""+number);     
           链表.set(0,s);
           resultShow.setText(s);
         }
        else if(链表.size()==1&&是否按下等号==true)
         {
           int number=b.getNumber();
           if (number==1)
           {
           	clip1.play();
          }
          else if (number==2)
           		{
           		clip2.play();
           		}
           		else if (number==3)
           		{
           		clip3.play();
           		}
           else if (number==4)
           		{
           		clip4.play();
           		} 
           	else if (number==5)
           		{
           		clip5.play();
           		}
          else if (number==6)
           		{
           		clip6.play();
           		}
           			else if (number==7)
           		{
           		clip7.play();
           		}
           		else if (number==8)
           		{
           		clip8.play();
           		}
           		else if (number==9)
           		{
           		clip9.play();
           		}
           		else if (number==0)
           		{
           		clip0.play();
           		}                
            链表.removeFirst();
           链表.add(""+number);                 
           是否按下等号=false;
           resultShow.setText(""+number);
         }
        else if(链表.size()==2)                
         {
           int number=b.getNumber();
           if (number==1)
           {
           	clip1.play();
          }     
          else if (number==2)
           		{
           		clip2.play();
           		}
           		else if (number==3)
           		{
           		clip3.play();
           		}
           	else if (number==4)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -