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

📄 testz.java

📁 java 计算器 用JAVA 编写的计算器
💻 JAVA
字号:
package a1;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

class MyWindow extends JFrame implements ActionListener 
{  
	String s="",s1; 
	double x,y;//x和y都是运算数        
   
	Container contentPane; 
    JMenuBar menubar;
    JMenu menu1,menu2;
    JMenuItem  item1,item2,item3; 
    
    JPanel pane;
    
    Box Hede1,Hede2,Hede3,Hede4,Vede,bosde;
    Button but1,but2,but3,but4,but5,but6;
    JTextField num1,num2,rus;
    Container con;	
   
    MyWindow(String s) 
    {  
      super(s);        
      setSize(320,300);
      setLocation(120,120);
      setVisible(true); 
              
      menubar=new JMenuBar(); 
      menu1=new JMenu("工具箱");   
      menu2=new JMenu("版本说明");   
      
     
      item1=new JMenuItem("计算器");
      item2=new JMenuItem("日历");
      item3=new JMenuItem("记事本");
      
      pane= new JPanel();
   	 
     
      
    
      item1.addActionListener(this);


      item1.setAccelerator(KeyStroke.getKeyStroke('C')); 
      item2.setAccelerator(KeyStroke.getKeyStroke('R')); 
      item3.setAccelerator(KeyStroke.getKeyStroke('N')); 

      menu1.add(item1);
      menu1.addSeparator();
      menu1.add(item2);
      menu1.addSeparator();
      menu1.add(item3);

      menubar.add(menu1);
      menubar.add(menu2);

      setJMenuBar(menubar);
      
      //设置BoxLayout布局
      Hede1=Box.createHorizontalBox();
	  Vede=Box.createVerticalBox();
	  Vede.add(new JLabel("请输入要计算的数字"));
	  Vede.add(Box.createVerticalStrut(10));
	  num1=new JTextField();
	  Hede1.add(new JLabel("num1"));
	  Hede1.add(num1);
	  num2=new JTextField();
	  Hede1.add(new JLabel("num2"));
	  Hede1.add(num2);
	  Vede.add(Hede1);
	  Vede.add(Box.createVerticalStrut(10));
	  Hede2=Box.createHorizontalBox();
	  but1=new Button("+");
	  but2=new Button("-");
	  but3=new Button("*");
	  but4=new Button("%");
	
	  Hede2.add(but1);
	  Hede2.add(but2);
	  Hede2.add(but3);
	  Hede2.add(but4);
	  
	  Vede.add(Hede2);
	  Vede.add(Box.createVerticalStrut(10));
	  Hede3=Box.createHorizontalBox();
	  Hede3.add(new JLabel("结果"));
	  rus=new JTextField();
	  Hede3.add(rus);
	  Vede.add(Hede3);
	  Vede.add(Box.createVerticalStrut(10));
	  Hede4=Box.createHorizontalBox();
	  
	  but5=new Button("重置");
	  but6=new Button("关闭");
	  Hede4.add(but5);
	  Hede4.add(but6);
	  Vede.add(Hede4);
	  but1.addActionListener(this);
	  but2.addActionListener(this);
	  but3.addActionListener(this);
	  but4.addActionListener(this);
	  but5.addActionListener(this);
	  but6.addActionListener(this);
      
      //把计算器中的组件加到面板容器pane
      pane.add(Vede);
      
      //获取内容面板
      contentPane = getContentPane();   
      validate();
      setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    } 
    
    public void actionPerformed(ActionEvent e)
    {
    	if(e.getSource()==item1)
    	{
 				//添加面板容器到窗体的内容面板
	      	contentPane.add(pane);
	        validate();
	     	contentPane.repaint();//界面刷新
		}
    	else if(e.getSource()==but6)
    	{
 				//从内容面板移除面板容器
      	     contentPane.remove(pane);
      	     validate();
      	     contentPane.repaint();//界面刷新
		}
		
    	 try {   
    	 if(e.getSource()==but1)
		       {
		    	   x=Double.parseDouble(num1.getText().trim());   
		    	   y=Double.parseDouble(num2.getText().trim());         
		    	   rus.setText(""+(x+y));     
		       }
    	else if(e.getSource()==but2)
    	       {
    		    x=Double.parseDouble(num1.getText().trim());        
    		    y=Double.parseDouble(num2.getText().trim());  
    		    rus.setText(""+(x-y)); 
                    
    	       }
    	else if(e.getSource()==but3)
	       {
		      x=Double.parseDouble(num1.getText().trim());        
		      y=Double.parseDouble(num2.getText().trim());  
                 
		      rus.setText(""+(x*y));     
	       }
    	
    	else if(e.getSource()==but4)
	       {
		      x=Double.parseDouble(num1.getText().trim());        
		      y=Double.parseDouble(num2.getText().trim());  
		      rus.setText(""+(x/y));
              if(y==0)
              {
            	  rus.setText("除数不能为零");        
              }
              
	       }
		     
		    	   else if (e.getSource()==but5)
		    	   {   
		    		   num1.setText("");
		    	       num2.setText("");
		    		   rus.setText("0");
		    	   }
    	 }
		     
    	 catch(NumberFormatException e1)
    	 {        
             rus.setText("数字格式异常");        
         } 
    	 catch(StringIndexOutOfBoundsException e1)
    	 {        
             rus.setText("字符串索引越界");        
         }        


    	 
}
}
public class testZ
{  
    public static void main(String args[])
    { 
      new MyWindow("我的工具箱");
    }
}

⌨️ 快捷键说明

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