




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java面向对象编程实验报告题 目:数组与图形化界面 专 业: 网络工程 班 级: 1120551 学 号: 26 姓 名: 崔小杰 太原工业学院计算机工程系年 月 日一、实验目的与要求 1、掌握Java编程中的数组的应用 2、掌握Java GUI编程的应用以及API的查阅 3、掌握Java GUI 窗体容器、布局管理器、基本组件、事件的注册实验内容Java GUI实现如下图简单计算器三、实施步骤package com.sram.view;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.FileDialog;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.event.MouseAdapter;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import java.io.File;import .Socket;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.filechooser.FileFilter;public class JiSuanQi private JFrame frame;private JTextField file;private JPanel panel1,panel2,panel3; private JButton btns = new JButton10; private JButton btn1,btn2,btn3,btn4,btn5,btn6,btn7;/设置操作键 public JiSuanQi() init();addListener();public void init()frame=new JFrame(计算器);file=new JTextField(20);btn1=new JButton(清除);btn2=new JButton(+);btn3=new JButton(-);btn4=new JButton(*);btn5=new JButton(/);btn6=new JButton(=);btn7=new JButton(.);panel1=new JPanel();/添加输入框panel2=new JPanel();/添加清除按钮panel3=new JPanel();/添加下面的16个按钮panel1.setLayout(new FlowLayout(); panel1.add(file); panel2.setLayout(new BorderLayout(); panel2.add(btn1,BorderLayout.CENTER); /设置JPanel3的布局(GridLayout) GridLayout gl = new GridLayout(4,4); panel3.setLayout(gl); for(int i=0;i10;i+) btnsi=new JButton(+i); panel3.add(btns7); panel3.add(btns8); panel3.add(btns9); panel3.add(btn2); panel3.add(btns4); panel3.add(btns5); panel3.add(btns6); panel3.add(btn3); panel3.add(btns1); panel3.add(btns2); panel3.add(btns3); panel3.add(btn4); panel3.add(btns0); panel3.add(btn7); panel3.add(btn5); panel3.add(btn6); /开始设置窗体的属性 frame.setLayout(new BorderLayout(); frame.add(panel1,BorderLayout.NORTH); frame.add(panel2,BorderLayout.CENTER); frame.add(panel3,BorderLayout.SOUTH); frame.setSize(300,250);frame.setLocationRelativeTo(null);frame.setResizable(false);/使得窗口大小不能调整frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/关闭窗口frame.setVisible(true);public void addListener() /* *对数字按钮进行监听 * */ for(int i=0;i10;i+) String s=; final String ss=s.valueOf(i); btnsi.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString text=file.getText(); file.setText(text+ss);); /* * 对操作的按钮进行监听 * */ /清空 btn1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString text=file.getText(); file.setText(null);); /加法 btn2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString text=file.getText(); file.setText(text+);); /减法 btn3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString text=file.getText(); file.setText(text+-);); /乘法 btn4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString text=file.getText(); file.setText(text+*);); /除法 btn5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString text=file.getText(); file.setText(text+/);); /等号 btn6.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString text=file.getText();String c=new String4;c0=+;c1=-;c2=*;c3=/;for(int i=0;i4;i+)if(text.indexOf(ci)!=-1) System.out.println(有操作符号); if(i=0) /加法 String text0=text.split(+)0; String text1=text.split(+)1; System.out.println(text0+text1); file.setText(+add(text0, text1); if(i=1) /减法 String text0=text.split(-)0; String text1=text.split(-)1; file.setText(+jianFa(text0, text1); if(i=2) /乘法 String text0=text.split(*)0; String text1=text.split(*)1; System.out.println(text0+text1); file.setText(+chengFa(text0, text1); if(i=3) /除法 String text0=text.split(/)0; String text1=text.split(/)1; if(text1.equals(0) file.setText(除数不能是0); else file.setText(+chuFa(text0, text1); else); btn7.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString text=file.getText(); file.setText(text+.););frame.addWindowListener(new WindowAdapter() Overridepublic void windowClosing(WindowEvent e) / TODO Auto-generated method stubframe.dispose(););public float chuFa(String text0, String text1) / TODO Auto-generated method stubfloat chuFa=0;chuFa=Float.parseFloat(text0)/Float.parseFloat(text1);return chuFa;public float chengFa(String text0, String text1) / TODO Auto-generated method stubfloat chengFa=0;chengFa=Float.parseFloat(text0)*Float.parseFloat(text1);return chengFa;public float jianFa(String text0, String text1) / TODO Auto-generated method stubfloat jianFa=0;jianFa=Float.parseFloat(text0)-Float.parseFloat(text1);return jianFa;public float add(String str1,String str2) float add=0; add=Float.parseFloat(str1)+Float.parseFloa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 东南大学《ERP沙盘模拟》2023-2024学年第二学期期末试卷
- 大连民族大学《材料科学与工程》2023-2024学年第二学期期末试卷
- 中华女子学院《公选生命急救常识》2023-2024学年第二学期期末试卷
- 北京协和医学院《健康风险评估技术与实训》2023-2024学年第二学期期末试卷
- 山东艺术学院《国际贸易基础》2023-2024学年第二学期期末试卷
- 湖北工业大学工程技术学院《智能装备控制技术》2023-2024学年第二学期期末试卷
- 潞安职业技术学院《数智财务分析与应用》2023-2024学年第二学期期末试卷
- 2024年数字电路的功能测试项目资金申请报告代可行性研究报告
- 热气球教学设计
- 2024年新型便携式温、湿、风向风速仪资金筹措计划书代可行性研究报告
- 2025年河北省秦皇岛市海港区中考一模数学试卷(原卷版+解析版)
- 二手车货车合同协议书
- 测井试题及答案完整版
- 外贸英语词汇
- 中级出版专业技术人员职业资格2025年笔试题库附答案
- 江苏南通2025年公开招聘农村(村务)工作者笔试题带答案分析
- 专利代缴年费合同协议
- 高级激光应用试题及答案
- 2024中国国新基金管理有限公司相关岗位招聘7人笔试参考题库附带答案详解
- GB 28050-2025食品安全国家标准预包装食品营养标签通则
- 第七章飞机重心与平衡裴娟64课件
评论
0/150
提交评论