已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档Java实习是物联网工程专业的重要实践教学内容,是Java语言程序设计课程的综合实践环节,是对该课程的补充和提高,通过实习训练,加深理解、巩固课堂教学内容,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规范与技巧,强调面向对象的编程方法及程序设计技能和设计能力的训练,强调理论与实际的结合,提高学生分析问题、解决问题的能力。Java程序设计是一门应用性很强的专业课,在学习时必须注意理论与实践相结合,通过此实习使学生能够较全面的掌握面地理解,掌握和综合作用所学的知识,提高自身的编程能力。二实习内容:实习时间:2016年7月4日到2016年7月15日实习地点:工程实践中心D2-408实习内容:项目一:Java图形界面的应用:了解典型案例;理解事件处理机制的应用;掌握图形界面基本类的应用;图形用户界面(Graphics User Interface,GUI)是指以图形的方式实现人与计算机之间的交互。在该界面下用户往往只需要通过单击、双击拖拽鼠标和简单的文字输入就可以轻松地操作计算机完成任务。图形用户界面生动形象使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,帮助用户和计算机之间进行交互。用图形的形式借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便的向计算机系统发出指令、启动操作,并将系统的运行结果同样以图形方式显示给用户的技术。图形用户界面与字符界面相比,操作简单,画面生动,深受用户欢迎。Java图形界面技术,即使用java.awt包来创建图形界面的方法,包括awt组件、窗口和菜单设计、布局管理器、绘图操作等等。(1)以下为创建登录界面的程序代码: (这段代码能实现什么功能并未写清楚,并加上“具体程序代码如下:”,以后的都参考这样的写)package ZZ;import java.awt.Button;import java.awt.Color;import java.awt.Frame;import java.awt.Label;import java.awt.Panel;import java.awt.TextField;public class LLpublic static void main(String args) / TODO Auto-generated method stubFrame nw=new Frame(登录);Panel nn=new Panel();Label a1=new Label(用户名);Label a2=new Label(密码);TextField b1=new TextField(name );TextField b2=new TextField(password);Button n1=new Button (确定);nn.add(a1);nn.add(b1);nn.add(a2);nn.add(b2);nn.add(n1);nw.add(nn);nw.setBackground(Color.cyan);nw.setSize(300,300);nw.setVisible(true);(2)以下为创建复选框界面的程序代码:package zz;import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.border.*;public class su implements ItemListener JFrame f;JPanel p;JTextField t;JCheckBox c1,c2,c3;int sum=0;public static void main(String args) / TODO Auto-generated method stubsu s=new su();s.go();void go()f=new JFrame(超市);p=new JPanel();t=new JTextField();c1=new JCheckBox(香蕉3元);c2=new JCheckBox(苹果2元);c3=new JCheckBox(橘子3元);f.add(p,BorderLayout.CENTER);f.add(t,BorderLayout.SOUTH);p.add(c1);p.add(c2);p.add(c3);p.setLayout(new BoxLayout(p,BoxLayout.Y_AXIS);Border etched=BorderFactory.createEtchedBorder();Border border=BorderFactory.createTitledBorder(etched,超市);p.setBorder(border);f.setSize(500,500);f.setVisible(true);c1.addItemListener(this);c2.addItemListener(this);c3.addItemListener(this);Overridepublic void itemStateChanged(ItemEvent e) / TODO Auto-generated method stubif(e.getSource()=c1)if(c1.isSelected()sum=sum+5;else sum=sum-5;t.setText(总计为+sum+元);if(e.getSource()=c2)if(c2.isSelected()sum=sum+2;else sum=sum-2;t.setText(总计为+sum+元);if(e.getSource()=c3)if(c3.isSelected()sum=sum+3;else sum=sum-3;t.setText(总计为+sum+元);(3)package tx;import javax.swing.*; import java.awt.*; public class txyh extends JFrameprivate JPanel panel1=new JPanel();private JPanel panel2=new JPanel();private JPanel panel3=new JPanel();private JLabel label1 = new JLabel(价格:); private JLabel label2 = new JLabel(颜色:); private JLabel label3 = new JLabel(内存:); private JComboBox lbk;private String like=16G,32G,64G,128G; public txyh() super(手机类型); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container c=getContentPane(); c.setLayout(new GridLayout(1,2,0,0); panel1.setBackground(new Color(205, 110, 190); JTextField t1=new JTextField(); t1=new JTextField(10); panel1.add(label1); panel1.add(t1); c.add(panel1); panel2.setBackground(new Color(140, 200, 140); JTextField t2=new JTextField(); t2=new JTextField(10); panel2.add(label2); panel2.add(t2); c.add(panel2); panel3.setBackground(new Color(220, 200, 200); lbk = new JComboBox(like); lbk.setMaximumRowCount(4); lbk.setSelectedIndex(0); panel3.add(label3); panel3.add(lbk,BorderLayout.NORTH); c.add(panel3); setSize(300,300); /设置窗口大小 setVisible(true); /指定窗口可见 public static void main(String args) / TODO Auto-generated method stubtxyh g=new txyh(); 项目二:Java在多线程中的应用:了解线程和多线程概念;理解和熟悉多线程的同步;掌握多线程应用的典型案例;线程是进程中某个单一顺序的控制流,是进城内部的一个执行单元。系统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程以函数地址形式将程序启动点提供给Windows系统。主执行线程终止,例如,某应用软件main或WinMain函数。程序设计员可以通过Java的应用编程接口API,使含有执行线程的应用软件同时运行。在这里,每一线程是指可以与其他线程同时执行的一部分程序,成为多线程。这种能力为Java程序员编写高性能的程序提供了保证。 (1)在某一进程内的两个计数线程的记数调度package text;public class Criticalpublic static void main(String arrgs)Thread A=new Thread(new counter_thread();Thread B=new Thread(new counter_thread();A.start();B.start();tryThread.sleep(1000);catch(InterruptedException e)e.printStackTrace();System.out.println(Finished! Counter count:+counter.count);class counterpublic static int count,temp;public static void inc()temp=count; /危险temp+=1; /危险count=temp; /危险class counter_thread implements Runnablepublic void run()for(int i=0;i10000;i+)counter.inc();多线程可以实现并行处理,避免了某项任务长时间占用CPU时间。在单处理(CPU)的计算机中,为了运行所有这些线程,操作系统需要为每个独立线程安排一些CPU时间,操作系统以轮换方式为线程提供时间片,在宏观上似乎这些线程是同时运行。因此,如果两个非常活跃的线程为了抢夺对CPU的控制权,在线程切换时会消耗很多CPU资源,反而会降低系统的性能。(2)package xiancheng;public class xiancheng public static void main(String args) final Business business= new Business(); new Thread( new Runnable() public void run() for(int i=1;i=50;i+) business.sub(i); ).start(); for(int i=1;i=50;i+) business.main(i); class Business private boolean bShouldSub = true; public synchronized void sub(int i) /如果bussiness调用sub的话,则【!bShouldSub =false,bShouldSub=true】; /然后主线程main为等待,执行完sub后就bShouldSub=false;唤醒主线程main。 while(!bShouldSub) try this.wait(); catch (InterruptedException e) e.printStackTrace(); for(int j=1;j=10;j+) System.out.println(sub thread sequence of +j+,loop of +i); bShouldSub = false; /唤醒main this.notify(); public synchronized void main(int i) while(bShouldSub) try this.wait(); catch (InterruptedException e) e.printStackTrace(); for(int j=1;j=100;j+) System.out.println(main thread sequence of +j+,loop of +i); bShouldSub = true; /唤醒sub this.notify();项目三:Java Applet的应用:了解Java Applet的特点和运行机制;理解HTML语言,熟悉如何在HTML文件中嵌入Applet;掌握Applet的主要方法及生命周期;Java Applet的应用:Applet不是完整独立的程序,而是一个已经构建好的框架程序中的一个模板,因而Applet小应用程序也不能加Application那样直接运行,必须将它翻译生成的字节码文件嵌套在一个HTML文件里,然后打开此HTML文件激活WWW浏览器中的Java解释器才可以运行。Applet小应用程序必须继承java.applet包中的Applet类。Applet的默认布局是FlowLayout。编写了一个时间运行程序的代码及运行结果如下:(1) 下面的程序是完成什么的?总得写一下吧?package app;import java.awt.*;import java.util.*;import javax.swing.*;import java.text.DateFormat;public class cd extends JFrame private Thread cThread = null; private cJPanel cjp=new cJPanel(); public cd() setSize(240,100); cThread = new Thread(cjp,Clock); cThread.start(); add(cjp); setVisible(true); public static void main(String args) new cd(); class cJPanel extends JPanel implements Runnablepublic void paint(Graphics g) super.paint(g);Calendar cal = Calendar.getInstance();Date date = cal.getTime();DateFormat dateFormatter = DateFormat.getTimeInstance();g.setColor(Color.BLUE);g.setFont(new Font(TimesNewRoman,Font.BOLD,36);g.drawString(dateFormatter.format(date), 50, 50); public void run() while (true) repaint(); try Thread.sleep(1000); catch (InterruptedException e) (2) 下面的程序是完成什么的?总得写一下吧?package ymc;import java.applet.*;import java.awt.*;import java.awt.event.ActionEvent;public class ymc extends Applet AudioClip music;Image image;Button b1 = new Button(play);Button b2 = new Button(loop);Button b3 = new Button(stop);private Label label = null;private List list = null;public void init()b1.setBounds(new Rectangle(300,40,87,23);b2.setBounds(new Rectangle(300,80,87,23);b3.setBounds(new Rectangle(300,120,87,23);this.setLayout(null);this.setSize(new Dimension(430,414);music=getAudioClip(getCodeBase(),益母草.wav);image=getImage(getDocumentBase(),益母草.jpg); add(b1); add(b2); add(b3); this.add(getList(),null);public void actionPerformed(ActionEvent e)if(e.getActionCommand().equals(play)music.play();if(e.getActionCommand().equals(loop)music.loop();if(e.getActionCommand().equals(stop)music.stop(); private List getList()if(list= null)list = new List();list.add(【中文名】益母草);list.add(【类别】全草类);list.add(【炮制】拣去杂志,洗净,润透,切段,晒干。);list.add(【性味】辛苦,凉。);list.add(【功用主治】活血,祛瘀,调经,消水.);list.setBounds(new Rectangle(169,323,261,87);return list;public static void main(String args) new ymc();三实习结果:项目一:(这段是能实现什么功能并未写清楚,并加上“实现效果如下图所示:”,以后的都参考这样的写)图1 登录界面结果图2 创建复选框结果图3项目二:图4第一次运行结果图5 第二次运行结果图6第三次运行结果图7 第四次运行结果图8 多线程项目三:图9Applet运行结果图10四实习总结:经过为期两周的Java实训,感触很深,收获也很大,对自己的缺点也有了很多的认识,回收本学期Java的学习,重点还是在学习概念等一些常识性的东西,关于了解图形界面典型案例;理解事件处理机制的应用,掌握图形界面基本类的应用,线程和多线程概念,理解和熟悉多线程的同步,掌握多线程应用的典型案例,了解Java Applet的特点和运行机制;理解HTML语言,熟悉如何在HTML文件中嵌入Applet,掌握Applet的主要方法及生命周期。在我学习的语言中,我自己认为Java是一门比较强大的面向对象的编程语言,不仅仅是因为它的跨平台型还有它的较强的实用性,强悍的嵌入性。本次实习主要是通过实习训练,加深理解、巩固课堂教学内容,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规范与技巧,强调面向对象的编程方法及程序设计技能和设计能力的训练,强调理论与实际的结合,提高学生分析问题、解决问题的能力。通过这一周的实习,虽然实习的时间不长,但是总体上收获挺大的,当我们正式准备学习实习Java编程技术时,让我感到非常高兴,因为Java一直学的是课本知识,所以实习对于我来说是必须要学会熟练操作的。当然开始学习后也并非是想象中那
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 增压器试题带答案
- 医院保洁考核题库及答案
- 标准厂房代建合同范本
- 基于校园网的小学校本知识共享:困境、策略与实践探索
- 水上救援飞机合同范本
- 2026-2031全球及中国半导体芯片连接材料行业市场发展分析及前景趋势与投资发展研究报告
- 基于机器视觉的残损胶囊图像检测系统深度剖析与创新设计
- 2026-2031年中国手游行业发展现状及前景战略咨询报告
- 2026-2031年中国无机陶瓷膜行业市场分析与投资前景预测报告
- 2025年旋挖钻机操作手安全教育试卷及答案
- 房地产项目营销策划与执行方案
- 《第1节 化学反应的方向》说课课件
- 鲁迅《风波》教学课件
- 香港装饰装修工程实施合同范本(2024版)
- 股份协议书股份协议书模板(2024版)
- AC-20C沥青混合料生产配合比以及配合比的验证报告
- 电影院火灾逃生应急预案
- (正式版)HGT 6285-2024 甲基丙烯醛氧化制甲基丙烯酸催化剂活性试验方法
- 海南警察学院规划方案
- 《如何阅读文献》课件
- 药理学:抗菌药氨基糖苷类抗生素课件
评论
0/150
提交评论