开源一个简单的计算器

Code:
  1. /**********************************************
  2. *JAVA计算器测试0.5
  3. *
  4. *
  5. *徐方鑫2010.3.5
  6. *
  7. ***********************************************/
  8. importjavax.swing.*;
  9. importjava.awt.*;
  10. importjava.awt.event.*;
  11. publicclassUI{
  12. JTextFieldresult;
  13. Stringnumber;
  14. doublenumber1,number2,numberResult;
  15. charflag;
  16. booleanflag2;
  17. publicUI(){
  18. //TODOAuto-generatedconstructorstub
  19. //初始化全部参数
  20. number="";
  21. number1=0;
  22. number2=0;
  23. numberResult=0;
  24. flag='';
  25. flag2=false;
  26. //绘制面板
  27. JFrameframe=newJFrame("计算器");//主窗体
  28. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭按钮
  29. JPanelmainPanel=newJPanel();//主面板
  30. BoxboxMain=Box.createVerticalBox();//BOX结构——主面板竖直分布
  31. frame.setContentPane(mainPanel);//选择面板为主面板
  32. BoxboxMenu=Box.createHorizontalBox();//菜单面板
  33. mainPanel.add(boxMain);//主面板上增加BOX主面板
  34. boxMain.add(boxMenu);//BOX主面板增加菜单面板
  35. //菜单条
  36. JMenuBarmenuBar=newJMenuBar();
  37. boxMenu.add(menuBar);
  38. JMenumenu1=newJMenu("查看");
  39. JMenumenu2=newJMenu("编辑");
  40. JMenumenu3=newJMenu("帮助");
  41. menuBar.add(menu1);
  42. menuBar.add(menu2);
  43. menuBar.add(menu3);
  44. JMenuItemmenu1Item1=newJMenuItem("清除");
  45. menu1Item1.addActionListener(newActionListener()
  46. {
  47. publicvoidactionPerformed(ActionEvente)
  48. {
  49. number="";
  50. number1=0;
  51. number2=0;
  52. numberResult=0;
  53. flag='';
  54. flag2=false;
  55. result.setText(number);
  56. }
  57. });
  58. JMenuItemmenu1Item2=newJMenuItem("等于");
  59. menu1Item2.addActionListener(newActionListener()
  60. {
  61. publicvoidactionPerformed(ActionEvente)
  62. {
  63. number2=Integer.parseInt(number);
  64. switch(flag)
  65. {
  66. case'+':
  67. numberResult=number1+number2;
  68. break;
  69. case'-':
  70. numberResult=number1-number2;;
  71. break;
  72. case'*':
  73. numberResult=number1*number2;;
  74. break;
  75. case'/':
  76. numberResult=number1/number2;;
  77. break;
  78. }
  79. number=String.valueOf(numberResult);
  80. result.setText(number);
  81. number="";
  82. number1=0;
  83. number2=0;
  84. numberResult=0;
  85. flag='';
  86. flag2=false;
  87. }
  88. });
  89. JMenuItemmenu1Item3=newJMenuItem("退出");
  90. menu1Item3.addActionListener(newActionListener()
  91. {
  92. publicvoidactionPerformed(ActionEvente)
  93. {
  94. System.exit(0);
  95. }
  96. });
  97. menu1.add(menu1Item1);
  98. menu1.add(menu1Item2);
  99. menu1.addSeparator();
  100. menu1.add(menu1Item3);
  101. JMenuItemmenu2Item1=newJMenuItem("复制");
  102. JMenuItemmenu2Item2=newJMenuItem("粘帖");
  103. JMenuItemmenu2Item3=newJMenuItem("历史记录");
  104. menu2.add(menu2Item1);
  105. menu2.add(menu2Item2);
  106. menu2.addSeparator();
  107. menu2.add(menu2Item3);
  108. JMenuItemmenu3Item1=newJMenuItem("查看帮助");
  109. menu3Item1.addActionListener(newActionListener()
  110. {
  111. publicvoidactionPerformed(ActionEvente)
  112. {
  113. JOptionPane.showMessageDialog(null,"帮助制作中");
  114. }
  115. });
  116. JMenuItemmenu3Item2=newJMenuItem("关于计算器");
  117. menu3Item2.addActionListener(newActionListener()
  118. {
  119. publicvoidactionPerformed(ActionEvente)
  120. {
  121. JOptionPane.showMessageDialog(null,"计算器BATA0.5");
  122. }
  123. });
  124. JMenuItemmenu3Item3=newJMenuItem("制作人信息");
  125. menu3Item3.addActionListener(newActionListener()
  126. {
  127. publicvoidactionPerformed(ActionEvente)
  128. {
  129. JOptionPane.showMessageDialog(null,"制作人:徐方鑫/n邮箱:280599580@qq.com");
  130. }
  131. });
  132. menu3.add(menu3Item1);
  133. menu3.add(menu3Item2);
  134. menu3.addSeparator();
  135. menu3.add(menu3Item3);
  136. //显示框
  137. BoxtextBox=Box.createHorizontalBox();
  138. boxMain.add(textBox);
  139. //JLabeltextLable=newJLabel("显示");
  140. //textBox.add(textLable);
  141. //JTextField
  142. result=newJTextField();
  143. result.setHorizontalAlignment(JTextField.RIGHT);
  144. textBox.add(result);
  145. //按钮面板
  146. BoxbuttonBoxMain=Box.createHorizontalBox();
  147. boxMain.add(buttonBoxMain);
  148. BoxbuttonBoxTouchMain=Box.createVerticalBox();
  149. buttonBoxMain.add(buttonBoxTouchMain);
  150. BoxbuttonBoxTouchMainIn1=Box.createHorizontalBox();
  151. BoxbuttonBoxTouchMainIn2=Box.createHorizontalBox();
  152. BoxbuttonBoxTouchMainIn3=Box.createHorizontalBox();
  153. BoxbuttonBoxTouchMainIn4=Box.createHorizontalBox();
  154. buttonBoxTouchMain.add(buttonBoxTouchMainIn1);
  155. JButtonbutton_7=newJButton("7");
  156. buttonBoxTouchMainIn1.add(button_7);
  157. button_7.addActionListener(newActionListener()
  158. {
  159. publicvoidactionPerformed(ActionEvente)
  160. {
  161. number+="7";
  162. result.setText(number);
  163. }
  164. });
  165. JButtonbutton_8=newJButton("8");
  166. buttonBoxTouchMainIn1.add(button_8);
  167. button_8.addActionListener(newActionListener()
  168. {
  169. publicvoidactionPerformed(ActionEvente)
  170. {
  171. number+="8";
  172. result.setText(number);
  173. }
  174. });
  175. JButtonbutton_9=newJButton("9");
  176. buttonBoxTouchMainIn1.add(button_9);
  177. button_9.addActionListener(newActionListener()
  178. {
  179. publicvoidactionPerformed(ActionEvente)
  180. {
  181. number+="9";
  182. result.setText(number);
  183. }
  184. });
  185. JButtonbutton_10=newJButton("加");
  186. buttonBoxTouchMainIn1.add(button_10);
  187. //加法调用
  188. button_10.addActionListener(newActionListener()
  189. {
  190. publicvoidactionPerformed(ActionEvente)
  191. {
  192. number1=Double.parseDouble(number);
  193. flag='+';
  194. number="";
  195. flag2=false;
  196. result.setText(number);
  197. }
  198. });
  199. buttonBoxTouchMain.add(buttonBoxTouchMainIn2);
  200. JButtonbutton_4=newJButton("4");
  201. buttonBoxTouchMainIn2.add(button_4);
  202. button_4.addActionListener(newActionListener()
  203. {
  204. publicvoidactionPerformed(ActionEvente)
  205. {
  206. number+="4";
  207. result.setText(number);
  208. }
  209. });
  210. JButtonbutton_5=newJButton("5");
  211. buttonBoxTouchMainIn2.add(button_5);
  212. button_5.addActionListener(newActionListener()
  213. {
  214. publicvoidactionPerformed(ActionEvente)
  215. {
  216. number+="5";
  217. result.setText(number);
  218. }
  219. });
  220. JButtonbutton_6=newJButton("6");
  221. buttonBoxTouchMainIn2.add(button_6);
  222. button_6.addActionListener(newActionListener()
  223. {
  224. publicvoidactionPerformed(ActionEvente)
  225. {
  226. number+="6";
  227. result.setText(number);
  228. }
  229. });
  230. JButtonbutton_11=newJButton("减");
  231. buttonBoxTouchMainIn2.add(button_11);
  232. //减法调用
  233. button_11.addActionListener(newActionListener()
  234. {
  235. publicvoidactionPerformed(ActionEvente)
  236. {
  237. number1=Double.parseDouble(number);
  238. flag='-';
  239. number="";
  240. flag2=false;
  241. result.setText(number);
  242. }
  243. });
  244. buttonBoxTouchMain.add(buttonBoxTouchMainIn3);
  245. JButtonbutton_1=newJButton("1");
  246. buttonBoxTouchMainIn3.add(button_1);
  247. button_1.addActionListener(newActionListener()
  248. {
  249. publicvoidactionPerformed(ActionEvente)
  250. {
  251. number+="1";
  252. result.setText(number);
  253. }
  254. });
  255. JButtonbutton_2=newJButton("2");
  256. buttonBoxTouchMainIn3.add(button_2);
  257. button_2.addActionListener(newActionListener()
  258. {
  259. publicvoidactionPerformed(ActionEvente)
  260. {
  261. number+="2";
  262. result.setText(number);
  263. }
  264. });
  265. JButtonbutton_3=newJButton("3");
  266. buttonBoxTouchMainIn3.add(button_3);
  267. button_3.addActionListener(newActionListener()
  268. {
  269. publicvoidactionPerformed(ActionEvente)
  270. {
  271. number+="3";
  272. result.setText(number);
  273. }
  274. });
  275. JButtonbutton_12=newJButton("乘");
  276. buttonBoxTouchMainIn3.add(button_12);
  277. //乘法调用
  278. button_12.addActionListener(newActionListener()
  279. {
  280. publicvoidactionPerformed(ActionEvente)
  281. {
  282. number1=Double.parseDouble(number);
  283. flag='*';
  284. number="";
  285. flag2=false;
  286. result.setText(number);
  287. }
  288. });
  289. buttonBoxTouchMain.add(buttonBoxTouchMainIn4);
  290. JButtonbutton_0=newJButton("0");
  291. buttonBoxTouchMainIn4.add(button_0);
  292. button_0.addActionListener(newActionListener()
  293. {
  294. publicvoidactionPerformed(ActionEvente)
  295. {
  296. number+="0";
  297. result.setText(number);
  298. }
  299. });
  300. JButtonbutton_13=newJButton(".");
  301. buttonBoxTouchMainIn4.add(button_13);
  302. //。调用
  303. button_13.addActionListener(newActionListener()
  304. {
  305. publicvoidactionPerformed(ActionEvente)
  306. {
  307. if(flag2==false)
  308. {
  309. number+=".";
  310. result.setText(number);
  311. flag2=true;
  312. }
  313. }
  314. });
  315. JButtonbutton_14=newJButton("除");
  316. buttonBoxTouchMainIn4.add(button_14);
  317. //除法调用
  318. button_14.addActionListener(newActionListener()
  319. {
  320. publicvoidactionPerformed(ActionEvente)
  321. {
  322. number1=Double.parseDouble(number);
  323. flag='/';
  324. number="";
  325. flag2=false;
  326. result.setText(number);
  327. }
  328. });
  329. BoxbuttonBoxTouchResult=Box.createVerticalBox();
  330. buttonBoxMain.add(buttonBoxTouchResult);
  331. JButtonbutton_15=newJButton("清除");
  332. buttonBoxTouchResult.add(button_15);
  333. button_15.addActionListener(newActionListener()
  334. {
  335. publicvoidactionPerformed(ActionEvente)
  336. {
  337. number="";
  338. number1=0;
  339. number2=0;
  340. numberResult=0;
  341. flag='';
  342. result.setText(number);
  343. flag2=false;
  344. }
  345. });
  346. JButtonbutton_16=newJButton("负号");
  347. buttonBoxTouchResult.add(button_16);
  348. JButtonbutton_17=newJButton("百分");
  349. buttonBoxTouchResult.add(button_17);
  350. JButtonbutton_18=newJButton("等于");
  351. buttonBoxTouchResult.add(button_18);
  352. button_18.addActionListener(newActionListener()
  353. {
  354. publicvoidactionPerformed(ActionEvente)
  355. {
  356. number2=Double.parseDouble(number);
  357. switch(flag)
  358. {
  359. case'+':
  360. numberResult=number1+number2;
  361. break;
  362. case'-':
  363. numberResult=number1-number2;;
  364. break;
  365. case'*':
  366. numberResult=number1*number2;;
  367. break;
  368. case'/':
  369. numberResult=number1/number2;;
  370. break;
  371. }
  372. number=String.valueOf(numberResult);
  373. result.setText(number);
  374. number="";
  375. number1=0;
  376. number2=0;
  377. numberResult=0;
  378. flag='';
  379. flag2=false;
  380. }
  381. });
  382. frame.setSize(290,215);
  383. frame.setVisible(true);
  384. }
  385. }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值