Java计算器源码.doc
《Java计算器源码.doc》由会员分享,可在线阅读,更多相关《Java计算器源码.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算器本计算器有显示过程和不显示过程两种功能,其中不显示过程为普通计算器,类似于windows自带的计算器;显示过程的,可以显示预算过程,其中包含所需应用的部分函数,以及格式化功能(最左上角,第一个键格式化,然后输入需要格式化的数位,然后点第二个数,显示格式化结果),当一次运算结束后,会在右边自动显示运算过程,并且运算过程处有保存,复制粘贴清除功能。代码如下:主类:import ZF.*;public class JiSuanQi public static void main(String args) Calculator c = new Calculator(计算器);包ZF中的类:Cal
2、culator类package ZF;/* * 计算器布局界面 */import java.io.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Calculator extends JFrame implements ActionListener static int xg = 1;/ 用于判断是否显示过程,初始状态为显示JSplitPane jsp1, jsp2, jsp3;static JTextField jtf;/ 文本框static JTextArea jta;/ 保存等的历
3、史文本区public static String zc;/ 用来暂时存储数字,实现第一个菜单选项JScrollPane JS;/ 专门用于给文本区提供滚动条public static FileDialog load, save;/ 声明引入对话框BufferedReader in;/ FileReader reader;/JP1 jp1;JP2 jp2;JP3 jp3;JP4 jp4;JP5 jp5;/ 菜单条JMenuBar mb;JMenu m0, m1, m2;JMenuItem m01, m02, m03, m04, m11, m12, m21, m22;public Calculat
4、or(String s) super(s);Container con = getContentPane();/ 桌面jp1 = new JP1();jp2 = new JP2();jp3 = new JP3();jp4 = new JP4();jp5 = new JP5();jta = new JTextArea();jta.setEditable(false);JS = new JScrollPane(jta);jsp1 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, false, jp1, jp2);jsp2 = new JSplitPane(JS
5、plitPane.VERTICAL_SPLIT, false, jp3, JS);jsp3 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, false, jp4, jp5);jtf = new JTextField();jtf.setText(String.valueOf(0);jtf.setEditable(false);jtf.setBackground(Color.white);load = new FileDialog(this, 读取历史运算过程, FileDialog.LOAD);load.setVisible(false);load.add
6、WindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) load.setVisible(false););save = new FileDialog(this, 保存历史运算过程, FileDialog.SAVE);save.setVisible(false);save.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) save.setVisible(false););/ 菜单条mb = ne
7、w JMenuBar();m0 = new JMenu(编辑);m1 = new JMenu(查看);m2 = new JMenu(帮助);m01 = new JMenuItem(复制);m02 = new JMenuItem(粘贴);m03 = new JMenuItem(读取);m04 = new JMenuItem(关闭);m01.addActionListener(this);m02.addActionListener(this);m03.addActionListener(this);m04.addActionListener(this);m11 = new JMenuItem(不显
8、过程);m12 = new JMenuItem(显示过程);m11.addActionListener(this);m12.addActionListener(this);m21 = new JMenuItem(帮助主题);m22 = new JMenuItem(关于计算器);m21.addActionListener(this);m22.addActionListener(this);m0.add(m01);m0.add(m02);m0.add(m03);m0.add(m04);m1.add(m11);m1.add(m12);m2.add(m21);m2.addSeparator();m2.
9、add(m22);mb.add(m0);mb.add(m1);mb.add(m2);setJMenuBar(mb);con.add(jtf, BorderLayout.NORTH);con.add(jsp1, BorderLayout.CENTER);con.add(jsp2, BorderLayout.EAST);con.add(jsp3, BorderLayout.WEST);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setBounds(100, 100, 800, 260);setResizable(false);setVisib
10、le(true);validate();public void actionPerformed(ActionEvent e) if (!jtf.getText().equals(error) if (e.getSource() = m01) zc = jtf.getText(); else if (e.getSource() = m02) if (zc != null) if (xg = 1) if (jtf.getText().equals(0)jtf.setText(zc);elsejtf.setText(jtf.getText() + zc); elsejtf.setText(zc);i
11、f (e.getSource() = m03) /读取文件Calculator.load.setVisible(true);Calculator.jta.setText(null);String s;if(Calculator.load.getFile()!=null)tryFile file=new File(Calculator.load.getDirectory(),Calculator.load.getFile();reader=new FileReader(file);in=new BufferedReader(reader);while(s=in.readLine()!=null)
12、Calculator.jta.append(s+n);in.close();reader.close();catch(IOException e2)Calculator.jta.append(读取错误); else if (e.getSource() = m04) System.exit(0); else if (e.getSource() = m11) / 换窗体大小,同时换规则setSize(320, 260);remove(jsp2);remove(jsp3);JP2.sf = 0;jtf.setText(String.valueOf(0);xg = 0;/ 改变菜单选项的可选性m03.
13、setEnabled(false);m04.setEnabled(false);/ 换对齐方式JP2.sf = 0;jtf.setEditable(false);jtf.setBackground(Color.white);jtf.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);validate(); else if (e.getSource() = m12) setSize(800, 260);add(jsp2, BorderLayout.EAST);add(jsp3, BorderLayout.WEST);JP2.sf
14、 = 0;jtf.setText(String.valueOf(0);xg = 1;m03.setEnabled(true);m04.setEnabled(true);JP2.eg = 0;jtf.setEditable(false);jtf.setBackground(Color.white);jtf.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);validate(); else if (e.getSource() = m21) JOptionPane.showMessageDialog(this,本计算器以模仿Win
15、dows系统自带计算器为主,详情请参照系统计算器“帮助主题”。, 帮助主题,JOptionPane.INFORMATION_MESSAGE); else if (e.getSource() = m22) new JA(关于计算器);JA类package ZF;import java.awt.*;import javax.swing.*;public class JA extends JFrame JLabel jl = new JLabel6;JTextField jtf1 = new JTextField6;JTextField jtf2 = new JTextField6;public J
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 计算器 源码
限制150内