Advertisement
Guest User

Calculator.java

a guest
Nov 6th, 2015
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.40 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4.  
  5. public class Calculator extends JFrame
  6. {
  7. private JTextField answerfield;
  8. private JButton one, two, three, four, five, six, seven, eight, nine, zero, add, sub, mul, div, equ;
  9. private String input1, input2, output;
  10. private double answer = 0.0;
  11. private boolean equalsClicked = false, opChosen = false;
  12.  
  13. public static void createAndShowGUI()
  14. {
  15. // FRAME
  16. JFrame frame = new JFrame("Calculator");
  17.  
  18. // NORTH SCREEN
  19. JPanel screen = new JPanel();
  20. screen.setPreferredSize(new Dimension(250, 60));
  21. frame.add(screen, BorderLayout.NORTH);
  22.  
  23. // NORTH TEXT INPUT
  24. JTextField answerfield = new JTextField();
  25. answerfield.setPreferredSize(new Dimension(240, 50));
  26. screen.add(answerfield);
  27.  
  28. frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  29. frame.pack();
  30. frame.setVisible(true);
  31.  
  32. // SOUTH SCREEN
  33. JPanel buttons = new JPanel();
  34. buttons.setPreferredSize(new Dimension(250, 300));
  35. frame.add(buttons, BorderLayout.SOUTH);
  36.  
  37. frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  38. frame.pack();
  39. frame.setVisible(true);
  40.  
  41. JPanel button = new JPanel();
  42. button.setPreferredSize(new Dimension(230, 250));
  43. buttons.add(button);
  44.  
  45. frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  46. frame.pack();
  47. frame.setVisible(true);
  48.  
  49. // SOUTH BUTTONS
  50. button.setLayout(new GridLayout(4, 4, 8, 12));
  51. JButton seven = new JButton("7");
  52. button.add(seven);
  53.  
  54. JButton eight = new JButton("8");
  55. button.add(eight);
  56.  
  57. JButton nine = new JButton("9");
  58. button.add(nine);
  59.  
  60. JButton div = new JButton("/");
  61. button.add(div);
  62.  
  63. JButton four = new JButton("4");
  64. button.add(four);
  65.  
  66. JButton five = new JButton("5");
  67. button.add(five);
  68.  
  69. JButton six = new JButton("6");
  70. button.add(six);
  71.  
  72. JButton mul = new JButton("*");
  73. button.add(mul);
  74.  
  75. JButton one = new JButton("1");
  76. button.add(one);
  77.  
  78. JButton two = new JButton("2");
  79. button.add(two);
  80.  
  81. JButton three = new JButton("3");
  82. button.add(three);
  83.  
  84. JButton sub = new JButton("-");
  85. button.add(sub);
  86.  
  87. JButton zero = new JButton("0");
  88. button.add(zero);
  89.  
  90. JButton dec = new JButton(".");
  91. button.add(dec);
  92.  
  93. JButton equ = new JButton("=");
  94. button.add(equ);
  95.  
  96. JButton addbutton = new JButton("+");
  97. button.add(addbutton);
  98.  
  99. Numbers n = new Numbers();
  100. Calculations c = new Calculations();
  101.  
  102. // ADD ACTION LISTENERS
  103. one.addActionListener(n);
  104. two.addActionListener(n);
  105. three.addActionListener(n);
  106. four.addActionListener(n);
  107. five.addActionListener(n);
  108. six.addActionListener(n);
  109. seven.addActionListener(n);
  110. eight.addActionListener(n);
  111. nine.addActionListener(n);
  112. zero.addActionListener(n);
  113. }
  114.  
  115. // NUMBER'S ACTION LISTENERS
  116. private class Numbers implements ActionListener
  117. {
  118. public void actionPerformed(ActionEvent event)
  119. {
  120. JButton src = (JButton) event.getSource();
  121.  
  122. if(src.equals(one))
  123. {
  124. if(opChosen = false)
  125. {
  126. if(input1 == null)
  127. {
  128. input1 = "1";
  129. }
  130. else
  131. {
  132. input1 = input1 + "1";
  133. }
  134. }
  135. else
  136. {
  137. if(input2 == null)
  138. {
  139. input2 = "1";
  140. }
  141. else
  142. {
  143. input2 = input2 + "1";
  144. }
  145. }
  146. }
  147. if(src.equals(two))
  148. {
  149. if(opChosen = false)
  150. {
  151. if(input1 == null)
  152. {
  153. input1 = "2";
  154. }
  155. else
  156. {
  157. input1 = input1 + "2";
  158. }
  159. }
  160. else
  161. {
  162. if(input2 == null)
  163. {
  164. input2 = "2";
  165. }
  166. else
  167. {
  168. input2 = input2 + "2";
  169. }
  170. }
  171. }
  172. if(src.equals(three))
  173. {
  174. if(opChosen = false)
  175. {
  176. if(input1 == null)
  177. {
  178. input1 = "3";
  179. }
  180. else
  181. {
  182. input1 = input1 + "3";
  183. }
  184. }
  185. else
  186. {
  187. if(input2 == null)
  188. {
  189. input2 = "3";
  190. }
  191. else
  192. {
  193. input2 = input2 + "3";
  194. }
  195. }
  196. }
  197. if(src.equals(four))
  198. {
  199. if(opChosen = false)
  200. {
  201. if(input1 == null)
  202. {
  203. input1 = "4";
  204. }
  205. else
  206. {
  207. input1 = input1 + "4";
  208. }
  209. }
  210. else
  211. {
  212. if(input2 == null)
  213. {
  214. input2 = "4";
  215. }
  216. else
  217. {
  218. input2 = input2 + "4";
  219. }
  220. }
  221. }
  222. if(src.equals(five))
  223. {
  224. if(opChosen = false)
  225. {
  226. if(input1 == null)
  227. {
  228. input1 = "5";
  229. }
  230. else
  231. {
  232. input1 = input1 + "5";
  233. }
  234. }
  235. else
  236. {
  237. if(input2 == null)
  238. {
  239. input2 = "5";
  240. }
  241. else
  242. {
  243. input2 = input2 + "5";
  244. }
  245. }
  246. }
  247. if(src.equals(six))
  248. {
  249. if(opChosen = false)
  250. {
  251. if(input1 == null)
  252. {
  253. input1 = "6";
  254. }
  255. else
  256. {
  257. input1 = input1 + "6";
  258. }
  259. }
  260. else
  261. {
  262. if(input2 == null)
  263. {
  264. input2 = "6";
  265. }
  266. else
  267. {
  268. input2 = input2 + "6";
  269. }
  270. }
  271. }
  272. if(src.equals(seven))
  273. {
  274. if(opChosen = false)
  275. {
  276. if(input1 == null)
  277. {
  278. input1 = "7";
  279. }
  280. else
  281. {
  282. input1 = input1 + "7";
  283. }
  284. }
  285. else
  286. {
  287. if(input2 == null)
  288. {
  289. input2 = "7";
  290. }
  291. else
  292. {
  293. input2 = input2 + "7";
  294. }
  295. }
  296. }
  297. if(src.equals(eight))
  298. {
  299. if(opChosen = false)
  300. {
  301. if(input1 == null)
  302. {
  303. input1 = "8";
  304. }
  305. else
  306. {
  307. input1 = input1 + "8";
  308. }
  309. }
  310. else
  311. {
  312. if(input2 == null)
  313. {
  314. input2 = "8";
  315. }
  316. else
  317. {
  318. input2 = input2 + "8";
  319. }
  320. }
  321. }
  322. if(src.equals(nine))
  323. {
  324. if(opChosen = false)
  325. {
  326. if(input1 == null)
  327. {
  328. input1 = "9";
  329. }
  330. else
  331. {
  332. input1 = input1 + "9";
  333. }
  334. }
  335. else
  336. {
  337. if(input2 == null)
  338. {
  339. input2 = "9";
  340. }
  341. else
  342. {
  343. input2 = input2 + "9";
  344. }
  345. }
  346. }
  347. if(src.equals(zero))
  348. {
  349. if(opChosen = false)
  350. {
  351. if(input1 == null)
  352. {
  353. input1 = "0";
  354. }
  355. else
  356. {
  357. input1 = input1 + "0";
  358. }
  359. }
  360. else
  361. {
  362. if(input2 == null)
  363. {
  364. input2 = "0";
  365. }
  366. else
  367. {
  368. input2 = input2 + "0";
  369. }
  370. }
  371. }
  372. if(equalsClicked==false)
  373. {
  374. if(opChosen==false)
  375. {
  376. answerfield.setText(input1);
  377. }
  378. else
  379. {
  380. answerfield.setText(input2);
  381. }
  382. }
  383. }
  384. }
  385.  
  386. // ADD CALCULATIONS'S ACTION LISTENERS
  387. private class Calculations implements ActionListener
  388. {
  389. public void actionPerformed(ActionEvent event)
  390. {
  391. JButton src = (JButton) event.getSource();
  392. }
  393. }
  394.  
  395. // MAIN FUNCTION
  396. public static void main(String[] args)
  397. {
  398. SwingUtilities.invokeLater(new Runnable()
  399. {
  400. public void run()
  401. {
  402. createAndShowGUI();
  403. }
  404. });
  405. }
  406. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement