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

📄 calculator.java

📁 用JAVA写的一个简单的计算器。。。 可完成连加及单数连加 适合入门
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
  paneld.add(bsqrt);
  paneld.add(bpf);
  paneld.add(bds);
  paneld.add(bf);
 return paneld;
}


private JPanel getPanelb()
{ /*数字按钮1*/
  b1=new JButton("1");
  b1.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{addNumber("1");
    }
   }
  );
  //Number_key.1.addActionListener(this);
  /*数字按钮2*/
  b2=new JButton("2");
  b2.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{addNumber("2");
    }
   }
  );

  /*数字按钮3*/
  b3=new JButton("3");
  b3.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{addNumber("3");
    }
   }
  );

  /*数字按钮4*/
  b4=new JButton("4");
  b4.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{addNumber("4");
    }
   }
  );

  /*数字按钮5*/
  b5=new JButton("5");
  b5.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{addNumber("5");
    }
   }
  );

  /*数字按钮6*/
  b6=new JButton("6");
  b6.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{addNumber("6");
    }
   }
  );

  /*数字按钮7*/
  b7=new JButton("7");
  b7.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{addNumber("7");
    }
   }
  );

  /*数字按钮8*/
  b8=new JButton("8");
  b8.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{addNumber("8");
    }
   }
  );

  /*数字按钮9*/
  b9=new JButton("9");
  b9.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{addNumber("9");
    }
   }
  );

  /*数字按钮0*/
  b0=new JButton("0");
  b0.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{addNumber("0");
    }
   }
  );

  /*小数点*/
  bd=new JButton(".");
  bd.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{if (isDOT==false) 
	  {if (show!=null&&!text.getText().equals("0")) addNumber(".");
       else addNumber("0.");
	   isDOT=true;
      }
    }
   }
  );

    /*等于号*/
  bdy=new JButton("=");
  bdy.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{deng=true;
	 if (CMD==null&&isCMD==false&&error==false) 
	  {if (show==null) text.setText("0");
       else text.setText(show);
	  }
	 if (CMD!=null) {mathProgressB(CMD);}
    }
   }
  );



  /*包含数字键,等于,小数点的容器*/
  panelb=new JPanel();
  panelb.setLayout(new GridLayout(4,3,4,4));
  panelb.add(b1);
  panelb.add(b2);
  panelb.add(b3);
  panelb.add(b4);
  panelb.add(b5);
  panelb.add(b6);
  panelb.add(b7);
  panelb.add(b8);
  panelb.add(b9);
  panelb.add(bd);
  panelb.add(b0);
  panelb.add(bdy);
  return panelb;
}

private JPanel getPanelc()
{/*包含四则运算符号的容器*/
  panelc=new JPanel();
  panelc.setLayout(new GridLayout(4,1,4,4));

  /*加号*/
  bjia=new JButton("+");
  bjia.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{if (show!=null&&isCMD==false)
	  {if (CMD!=null&&deng==false) {mathProgressB(CMD);CMD="+";isCMD=true;mathProgressA(CMD);}
	   else {CMD="+";isCMD=true;
	         mathProgressA(CMD);
	        }
      }
     CMD="+";
	}
   }
  );

  /*减号*/
  bjian=new JButton("-");
  bjian.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e)
	{if (show!=null&&isCMD==false)
	  {if (CMD!=null&&deng==false) {mathProgressB(CMD);CMD="-";}
	   else {CMD="-";isCMD=true;
             mathProgressA(CMD);
	        }
      }
	 CMD="-";
	}
   }
  );

  /*乘号*/
  bcheng=new JButton("×");
  bcheng.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{if (show!=null&&isCMD==false)
	  {if (CMD!=null&&deng==false) {mathProgressB(CMD);CMD="*";}
	   else {CMD="*";isCMD=true;
             mathProgressA(CMD);
	        }
	  }
	 CMD="*";
    }
   }
  );

  /*除号*/
  bchu=new JButton("÷");
  bchu.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{if (show!=null&&isCMD==false)
	  {if (CMD!=null&&deng==false) {mathProgressB(CMD);CMD="/";}
	   else {CMD="/";isCMD=true;
             mathProgressA(CMD);
	        }
	  }
	 CMD="/";
    }
   }
  );

  /*右端按纽组加完*/
  panelc.add(bjia);
  panelc.add(bjian);
  panelc.add(bcheng);
  panelc.add(bchu);
  return panelc;
}

/**
*下端LABERL标签
*/
private JLabel getLabel()
{label=new JLabel("作者:Nicole    时间:2006年11月");
 label.setHorizontalAlignment(JLabel.CENTER);
 return label;
}




/*菜单  --start-- */
private JMenuBar getMenu()
{JMenu menu = new JMenu("编辑(E)");
  menu.setMnemonic('E');
  JMenuItem copy = new JMenuItem("复制(C)",'C');
  copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK));
  JMenuItem paste = new JMenuItem("粘贴(P)",'P');
  paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK));
  menu.add(copy);
  menu.add(paste);

  //调用剪贴板 start//
  clipboard=getToolkit().getSystemClipboard();

    //复制
  copy.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{String temp=text.getText();
     StringSelection texta=new StringSelection(temp);   
     clipboard.setContents(texta,null);
    }
   }
  ); 
    //粘贴
  paste.addActionListener
  (new java.awt.event.ActionListener() 
   {public void actionPerformed(java.awt.event.ActionEvent e) 
	{Transferable contents=clipboard.getContents(this);   
     DataFlavor flavor=DataFlavor.stringFlavor; 
	 if(contents.isDataFlavorSupported(flavor))   
          try{String str=(String)contents.getTransferData(flavor);
	          if (isNumeric(str)==true) text.setText(str);}   
          catch(Exception   ee){}
    }
   }
  );
  //调用剪贴板 end//

  JMenu help = new JMenu("帮助(H)");
  help.setMnemonic('H');
  JMenuItem about = new JMenuItem("关于(A)",'A');
  about.setAccelerator(KeyStroke.getKeyStroke("F1"));
  about.addActionListener
  (new java.awt.event.ActionListener() 
	     {public void actionPerformed(java.awt.event.ActionEvent e) 
	          {JOptionPane.showMessageDialog
	                       (null, 
							"\nEmail(Eメール):\n chgy_1@hotmail.com\n\n            计算器 v1.0 By Nicole\n               やっぱOTLは最高だ\n", 
							"关于", 
							JOptionPane.INFORMATION_MESSAGE, 
							new ImageIcon(Calculator.class.getResource("/about.jpg"))
					       );
			  }
		 }
  );

  help.add(about);
  JMenuBar menuBar = new JMenuBar();
  menuBar.add(menu);
  menuBar.add(help);
  return menuBar;
}

/*菜单  --end-- */








/*↓↓↓↓  Frame的构造方法--start--  ↓↓↓↓*/
 public CalculatorFrame()
 {setTitle("计算器v1.0");
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //初始化FRAME一些属性

  /*  内容器  */
  contentpane=new JPanel();
  setContentPane(contentpane);   //定义并设置一个内容器
  contentpane.setLayout(new FlowLayout());
  contentpane.add(getPanela());
  contentpane.add(getPanele());   
  contentpane.add(getPaneld());   
  contentpane.add(getPanelb());
  contentpane.add(getPanelc()); 
  contentpane.add(getLabel());
  setJMenuBar(getMenu());
  //面板部件加载完毕

  

  /*frame 框价大小,位置,不可更改大小属性*/
  pack();
  setSize(280,270);
  setLocationRelativeTo(null);
  setVisible(true);
  setResizable(false);
 }
 /*↑↑↑↑  Frame的构造方法--end--  ↑↑↑↑*/
}

⌨️ 快捷键说明

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