当前位置:   article > 正文

Java入门——计算器(界面篇)_java计算器前端界面设计核心代码

java计算器前端界面设计核心代码

学了一段时间,终于开始尝试写自己的计算器了。

分成两部分来完成,一是界面的实现;而是核心功能的实现。今天先来第一部分,界面。

目录

概要设计

简要说明

文件结构

代码介绍

面板的设计代码

界面代码

测试代码


 

概要设计

简要说明

窗体中装了一个自己的面板,这个面板是边界布局的,north位置是一个用来显示的label,center位置是一个装满按钮的面板panel;这个按钮面板panel是一个4*4的网格布局。

文件结构

当然结构不需要那么复杂,这只是我的个人习惯。

代码介绍

面板的设计代码

先总览:

  1. package CaculatorFrame;
  2. import java.awt.BorderLayout;
  3. import java.awt.GridLayout;
  4. import java.awt.event.ActionListener;
  5. import javax.swing.JButton;
  6. import javax.swing.JLabel;
  7. import javax.swing.JPanel;
  8. import CaculatorActionListener.NumberActionListener;
  9. import CaculatorActionListener.OperaActionListener;
  10. public class CaculatorPanel extends JPanel {
  11. JLabel display; //用于显示按钮与运算结果的标签
  12. JPanel panel; //用来装各个按钮的面板
  13. //构造方法
  14. public CaculatorPanel() {
  15. this.setLayout(new BorderLayout()); //给面板设置边界布局
  16. display=new JLabel("0"); //显示标签初始显示0
  17. this.add(BorderLayout.NORTH,display);//往面板中添加标签
  18. //下面是装按钮的面板
  19. panel=new JPanel();
  20. panel.setLayout(new GridLayout(4,4));
  21. //两种监听器(是自己写的监听器类)
  22. NumberActionListener nal=new NumberActionListener(); //操作数的监听器
  23. OperaActionListener oal=new OperaActionListener(); //操作符的监听器
  24. //给面板添加按钮
  25. addButton("7",nal);
  26. addButton("8",nal);
  27. addButton("9",nal);
  28. addButton("+",oal);
  29. addButton("4",nal);
  30. addButton("5",nal);
  31. addButton("6",nal);
  32. addButton("-",oal);
  33. addButton("1",nal);
  34. addButton("2",nal);
  35. addButton("3",nal);
  36. addButton("*",oal);
  37. addButton("0",nal);
  38. addButton(".",nal);
  39. addButton("=",oal);
  40. addButton("/",oal);
  41. //把按钮面板添加进来
  42. this.add(BorderLayout.CENTER,panel);
  43. }
  44. /**
  45. * 自定义往按钮面板中添加按钮的方法
  46. * @param s 按钮上显示的文本
  47. * @param al 按钮添加的监听器
  48. */
  49. void addButton(String s,ActionListener al) {
  50. JButton btn=new JButton(s);
  51. btn.addActionListener(al);
  52. //把按钮添加到面板中
  53. panel.add(btn);
  54. }
  55. }

在自己写的面板类中。装了用于显示的label标签以及一个以网格布局装16的按钮的面板。

其中,为了减少代码量,自定义了一个添加按钮的方法。

注:其中用到的两个监听器类是自己定义的,暂时只是定义以备用,其中需要实现的方法将在下一个环节——功能实现来书写

  1. package CaculatorActionListener;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. public class NumberActionListener implements ActionListener {
  5. @Override
  6. public void actionPerformed(ActionEvent e) {
  7. // TODO Auto-generated method stub
  8. }
  9. }
  1. package CaculatorActionListener;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. public class OperaActionListener implements ActionListener {
  5. @Override
  6. public void actionPerformed(ActionEvent e) {
  7. // TODO Auto-generated method stub
  8. }
  9. }

界面代码

  1. package CaculatorFrame;
  2. import java.awt.event.WindowAdapter;
  3. import java.awt.event.WindowEvent;
  4. import javax.swing.JFrame;
  5. public class CaculatorFrame extends JFrame {
  6. //构造方法
  7. public CaculatorFrame() {
  8. this.setTitle("计算器");
  9. CaculatorPanel cp=new CaculatorPanel();
  10. this.add(cp);
  11. this.pack(); //自动调整宽高
  12. this.addWindowListener(new WindowAdapter() {
  13. public void WindowClosing(WindowEvent e) {
  14. System.exit(0);
  15. }
  16. });
  17. this.setVisible(true);
  18. }
  19. }

大部分主要的代码都写在了自己的面板类中了。frame类只需要将面板添加进来,并且进行一些常规的界面设置代码即可。

测试代码

下面是用于运行的测试代码

  1. import CaculatorFrame.CaculatorFrame;
  2. public class Caculator {
  3. public static void main(String[] args) {
  4. // TODO Auto-generated method stub
  5. new CaculatorFrame();
  6. }
  7. }

界面基本完成,下一篇开始实现各个按钮以及计算功能

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

闽ICP备14008679号