当前位置:   article > 正文

利用java GUI图形工具实现简单的计算器界面的功能(仅仅实现计算器的界面不可以真实的实现计算功能)_java入门计算器不实现功能

java入门计算器不实现功能

结果展示:

 

  1. //定义的按钮类
  2. import javax.swing.*;
  3. import java.awt.*;
  4. public class MyJbutton extends JButton {
  5. public MyJbutton(String name){
  6. super(name);
  7. setBorderPainted(true);
  8. setEnabled(true);
  9. setFont(new java.awt.Font("华文行楷", 1, 15));
  10. setBackground(Color.white);
  11. }
  12. }
  1. //定义的界面类
  2. import javax.swing.*;
  3. public class Myjframe extends JFrame {
  4. public Myjframe(int x,int y,int w,int h){
  5. super();
  6. setBounds(x,y,w,h);
  7. }
  8. }
  1. //主程序
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. public class Test {
  7. public static void main(String[] args) {
  8. new MyInterface();
  9. }
  10. }
  11. class MyInterface {
  12. MyJbutton button17 = new MyJbutton("0");
  13. MyJbutton button18 = new MyJbutton("1");
  14. MyJbutton button19 = new MyJbutton("2");
  15. MyJbutton button20 = new MyJbutton("3");
  16. MyJbutton button21 = new MyJbutton("4");
  17. MyJbutton button22 = new MyJbutton("5");
  18. MyJbutton button23 = new MyJbutton("6");
  19. MyJbutton button24 = new MyJbutton("7");
  20. MyJbutton button25 = new MyJbutton("8");
  21. MyJbutton button26 = new MyJbutton("9");
  22. JTextField jtext = new JTextField(40);
  23. public MyInterface() {
  24. Myjframe jf = new Myjframe(400, 400, 600, 400);
  25. jf.setTitle("计算器");
  26. jf.setLayout(new BorderLayout());
  27. //文本框
  28. jtext.setHorizontalAlignment(JTextField.RIGHT);
  29. JPanel jpanel0 = new JPanel(new BorderLayout());
  30. JPanel jPanelinput = new JPanel();
  31. jPanelinput.add(jtext);
  32. jpanel0.add(jPanelinput, BorderLayout.NORTH);
  33. jf.add(jpanel0, BorderLayout.CENTER);
  34. //标签
  35. JMenuBar bar = new JMenuBar();
  36. jf.setJMenuBar(bar);
  37. JMenu help = new JMenu("帮助");
  38. bar.add(help);
  39. JMenuItem about1=new JMenuItem("关于");
  40. help.add(about1);
  41. about1.addActionListener(new Myabout());
  42. jf.add(bar,BorderLayout.NORTH);
  43. //选择区
  44. JPanel jpanel2 = new JPanel(new BorderLayout());
  45. jpanel0.add(jpanel2, BorderLayout.CENTER);
  46. //进制选择
  47. JPanel jPanelselect = new JPanel(new GridLayout(1, 2));
  48. jpanel2.add(jPanelselect, BorderLayout.NORTH);
  49. JRadioButton radioButton1 = new JRadioButton("十进制",true);
  50. JRadioButton radioButton2 = new JRadioButton("八进制");
  51. JRadioButton radioButton3 = new JRadioButton("二进制");
  52. radioButton1.setActionCommand("十");
  53. radioButton2.setActionCommand("八");
  54. radioButton3.setActionCommand("二");
  55. button17.addActionListener(new MyListener(this));
  56. button18.addActionListener(new MyListener(this));
  57. button19.addActionListener(new MyListener(this));
  58. button20.addActionListener(new MyListener(this));
  59. button21.addActionListener(new MyListener(this));
  60. button22.addActionListener(new MyListener(this));
  61. button23.addActionListener(new MyListener(this));
  62. button24.addActionListener(new MyListener(this));
  63. button25.addActionListener(new MyListener(this));
  64. button26.addActionListener(new MyListener(this));
  65. radioButton1.addActionListener(new MyListener(this));
  66. radioButton2.addActionListener(new MyListener(this));
  67. radioButton3.addActionListener(new MyListener(this));
  68. ButtonGroup group = new ButtonGroup();
  69. group.add(radioButton1);
  70. group.add(radioButton2);
  71. group.add(radioButton3);
  72. JPanel jPanelsystem1 = new JPanel();
  73. jPanelsystem1.add(radioButton1);
  74. jPanelsystem1.add(radioButton2);
  75. jPanelsystem1.add(radioButton3);
  76. jPanelselect.add(jPanelsystem1);
  77. // Inv和 Hyp的选则
  78. JCheckBox jCheckBox1 = new JCheckBox("Inv");
  79. JCheckBox jCheckBox2 = new JCheckBox("Hyp");
  80. JPanel jPanelsystem2 = new JPanel();
  81. jPanelsystem2.add(jCheckBox1);
  82. jPanelsystem2.add(jCheckBox2);
  83. jPanelselect.add(jPanelsystem2);
  84. JPanel jpanel3 = new JPanel(new GridLayout(1, 2, 20, 0));
  85. jpanel2.add(jpanel3, BorderLayout.CENTER);
  86. //功能选择
  87. JPanel jPanel4 = new JPanel(new GridLayout(4, 4, 3, 4));
  88. jpanel3.add(jPanel4);
  89. MyJbutton button1=new MyJbutton("Sin");
  90. MyJbutton button2=new MyJbutton("And");
  91. MyJbutton button3=new MyJbutton("(");
  92. MyJbutton button4=new MyJbutton(")");
  93. MyJbutton button5=new MyJbutton("Cos");
  94. MyJbutton button6=new MyJbutton("Or");
  95. MyJbutton button7=new MyJbutton("Exp");
  96. MyJbutton button8=new MyJbutton("Ln");
  97. MyJbutton button9=new MyJbutton("tan");
  98. MyJbutton button10=new MyJbutton("Xor");
  99. MyJbutton button11=new MyJbutton("x^y");
  100. MyJbutton button12=new MyJbutton("log");
  101. MyJbutton button13=new MyJbutton("e");
  102. MyJbutton button14=new MyJbutton("Not");
  103. MyJbutton button15=new MyJbutton("x^3");
  104. MyJbutton button16=new MyJbutton("n!");
  105. jPanel4.add(button1);
  106. jPanel4.add(button2);
  107. jPanel4.add(button3);
  108. jPanel4.add(button4);
  109. jPanel4.add(button5);
  110. jPanel4.add(button6);
  111. jPanel4.add(button7);
  112. jPanel4.add(button8);
  113. jPanel4.add(button9);
  114. jPanel4.add(button10);
  115. jPanel4.add(button11);
  116. jPanel4.add(button12);
  117. jPanel4.add(button13);
  118. jPanel4.add(button14);
  119. jPanel4.add(button15);
  120. jPanel4.add(button16);
  121. //数字选择
  122. JPanel jPanel5 = new JPanel(new GridLayout(4, 4, 3, 4));
  123. jpanel3.add(jPanel5);
  124. MyJbutton button27 = new MyJbutton("+");
  125. MyJbutton button28 = new MyJbutton("-");
  126. MyJbutton button29 = new MyJbutton("*");
  127. MyJbutton button30 = new MyJbutton("/");
  128. MyJbutton button31 = new MyJbutton("C");
  129. MyJbutton button32 = new MyJbutton("=");
  130. jPanel5.add(button17);
  131. jPanel5.add(button18);
  132. jPanel5.add(button19);
  133. jPanel5.add(button20);
  134. jPanel5.add(button21);
  135. jPanel5.add(button22);
  136. jPanel5.add(button23);
  137. jPanel5.add(button24);
  138. jPanel5.add(button25);
  139. jPanel5.add(button26);
  140. jPanel5.add(button27);
  141. jPanel5.add(button28);
  142. jPanel5.add(button29);
  143. jPanel5.add(button30);
  144. jPanel5.add(button31);
  145. jPanel5.add(button32);
  146. jf.setVisible(true);
  147. jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  148. }
  149. }
  150. class MyListener implements ActionListener {
  151. MyInterface myInterface=null;
  152. public MyListener(MyInterface myInterface){
  153. this.myInterface=myInterface;
  154. }
  155. @Override
  156. public void actionPerformed(ActionEvent e) {
  157. if (e.getActionCommand().equals("二")) {
  158. myInterface.button17.setEnabled(true);
  159. myInterface.button18.setEnabled(true);
  160. myInterface.button19.setEnabled(false);
  161. myInterface.button20.setEnabled(false);
  162. myInterface.button21.setEnabled(false);
  163. myInterface.button22.setEnabled(false);
  164. myInterface.button23.setEnabled(false);
  165. myInterface.button24.setEnabled(false);
  166. myInterface.button25.setEnabled(false);
  167. myInterface.button26.setEnabled(false);
  168. }else if(e.getActionCommand().equals("八")){
  169. myInterface.button17.setEnabled(true);
  170. myInterface.button18.setEnabled(true);
  171. myInterface.button19.setEnabled(true);
  172. myInterface.button20.setEnabled(true);
  173. myInterface.button21.setEnabled(true);
  174. myInterface.button22.setEnabled(true);
  175. myInterface.button23.setEnabled(true);
  176. myInterface.button24.setEnabled(true);
  177. myInterface.button25.setEnabled(false);
  178. myInterface.button26.setEnabled(false);
  179. } else if (e.getActionCommand().equals("十")) {
  180. myInterface.button17.setEnabled(true);
  181. myInterface.button18.setEnabled(true);
  182. myInterface.button19.setEnabled(true);
  183. myInterface.button20.setEnabled(true);
  184. myInterface.button21.setEnabled(true);
  185. myInterface.button22.setEnabled(true);
  186. myInterface.button23.setEnabled(true);
  187. myInterface.button24.setEnabled(true);
  188. myInterface.button25.setEnabled(true);
  189. myInterface.button26.setEnabled(true);
  190. } else if (e.getActionCommand().equals("0")) {
  191. myInterface.jtext.setText("0");
  192. } else if (e.getActionCommand().equals("1")) {
  193. myInterface.jtext.setText("1");
  194. } else if (e.getActionCommand().equals("2")) {
  195. myInterface.jtext.setText("2");
  196. } else if (e.getActionCommand().equals("3")) {
  197. myInterface.jtext.setText("3");
  198. } else if (e.getActionCommand().equals("4")) {
  199. myInterface.jtext.setText("4");
  200. } else if (e.getActionCommand().equals("5")) {
  201. myInterface.jtext.setText("5");
  202. } else if (e.getActionCommand().equals("6")) {
  203. myInterface.jtext.setText("6");
  204. }else if(e.getActionCommand().equals("7")){
  205. myInterface.jtext.setText("7");
  206. } else if (e.getActionCommand().equals("8")) {
  207. myInterface.jtext.setText("8");
  208. } else if (e.getActionCommand().equals("9")) {
  209. myInterface.jtext.setText("9");
  210. }
  211. }
  212. }
  213. class Myabout implements ActionListener{
  214. @Override
  215. public void actionPerformed(ActionEvent e){
  216. new MyDialog();
  217. }
  218. }
  219. class MyDialog extends JDialog{
  220. public MyDialog(){
  221. Container container = getContentPane();
  222. JPanel jPanel=new JPanel(new GridLayout(3,1));
  223. JLabel name=new JLabel("作者:name");
  224. JLabel son=new JLabel("学号:123456");
  225. JLabel clas=new JLabel("班级:计算机");
  226. jPanel.add(name);
  227. jPanel.add(son);
  228. jPanel.add(clas);
  229. container.add(jPanel);
  230. setTitle("关于");
  231. setBounds(450,450,300,200);
  232. setVisible(true);
  233. }
  234. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/275756
推荐阅读
相关标签
  

闽ICP备14008679号