第七章Applet与图形用户界面――― Applet编程
- 格式:ppt
- 大小:136.00 KB
- 文档页数:13
面向对象课程设计applet编程一、教学目标本课程的教学目标是使学生掌握面向对象的课程设计applet编程的基本概念、原理和方法,培养学生运用面向对象编程思想解决实际问题的能力。
具体目标如下:1.知识目标:(1)掌握Java语言的基本语法和编程方法;(2)理解面向对象编程的基本概念,如类、对象、封装、继承、多态等;(3)熟悉applet编程的基本原理和方法。
2.技能目标:(1)能够使用Java语言编写简单的应用程序;(2)能够运用面向对象编程思想设计并实现applet程序;(3)具备查找和使用相关技术资料的能力。
3.情感态度价值观目标:(1)培养学生对计算机科学的兴趣和热情;(2)培养学生勇于探索、积极思考的科学精神;(3)培养学生团队协作、沟通交流的能力。
二、教学内容根据课程目标,教学内容主要包括以下三个方面:1.Java语言基础:Java语言的基本语法、数据类型、控制结构、函数等;2.面向对象编程:类与对象、封装、继承、多态等基本概念及其应用;3.Applet编程:applet的概念、生命周期、事件处理、通信等。
具体教学大纲如下:第1-2周:Java语言基础;第3-4周:面向对象编程;第5-6周:Applet编程。
三、教学方法为了达到课程目标,将采用以下教学方法:1.讲授法:用于讲解基本概念、原理和方法;2.案例分析法:通过分析典型案例,使学生理解并掌握面向对象编程思想;3.实验法:让学生动手编写代码,巩固所学知识,培养实际编程能力。
四、教学资源1.教材:《Java编程思想》、《Applet编程教程》;2.参考书:《Java核心技术》、《Java编程指南》;3.多媒体资料:教学PPT、视频教程;4.实验设备:计算机、网络环境。
教学资源将贯穿整个教学过程,为学生提供丰富的学习材料和实践环境,以支持教学内容和教学方法的实施。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性;2.作业:布置适量的作业,评估学生对知识点的理解和运用能力;3.考试:分为期中考试和期末考试,全面测试学生的知识掌握和编程能力。
实验6 图形用户界面和Applet编程实验一、实验目的:1.掌握Java中图形用户界面的编程2.掌握布局管理器和事件的响应方法。
3.掌握Applet多媒体开发方法二、实验环境(硬/软件要求):通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.5.0(或以上版本),Jcreater Pro或JBuilder 9、eclipse。
三、实验内容:编写简单的图形用户界面并进行事件处理;编写程序熟悉常见组件的使用;编写程序进行图形化显示;编写程序进行Applet多媒体开发。
四、实验主要步骤:1 编写一个算数测试小软件。
点击获取题目进行随机出题,点击确认答案判断答题正确与否。
一次可出多题,可以判断答案对错。
2 编写一个班级推选优秀生的软件,可列出参与推优的学生名单,能够显示当前投票人数以及每名候选者得票数,如果同时能够图形化显示得票数更佳。
3编写一个程序,画出一辆小车图案。
思考是否能让小车平行移动?如何移动?4编写一个Applet程序,在网页中同时显示自己的生活照和播放一段音乐。
五、实验报告形式(纸质/电子):1.纸质(实验报告),可打印。
试验结果截图打印出来,附在试验报告后2.电子(程序源代码、运行结果)3.回答下述问题有几种窗体布局管理器,各有何不同?六、评分标准:1.能否自如地设计完成要求验证的内容。
异常的处理是否恰当。
2.程序设计的风格,是否规范。
3.各个程序的源代码,要求对代码行进行适当地注释说明;4.上机实验的态度是否认真,实验报告书写是否规范完整。
1、import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import bel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Random;import javax.swing.*;import javax.swing.GroupLayout.Alignment;class randomtimu{double x1;double x2;char yunsuan;final char[] Yun=new char[]{'+','-','*','/'};double result;String errorString="";public randomtimu(){x1=Math.random()*100;x2=Math.random()*100;yunsuan=Yun[(int)(Math.random()*4)];switch (yunsuan){case'+':result=x1+x2;break;case'-':result=x1-x2;break;case'*':result=x1*x2;break;case'/':if(x2==0){errorString="error";}else {result=x1/x2;}break;default:break;}}}public class test6 extends JFrame{private JPanel contentPane;JTextField jTextField=new JTextField(10);JTextField jTextField3=new JTextField(10);JTextField jTextField4=new JTextField(10);JLabel jLabel=new JLabel("+",JLabel.CENTER);JLabel jLabel2=new JLabel("=",JLabel.CENTER);JLabel jLabel3=new JLabel("");double result=0;public static void main(String[] args){new test6().setVisible(true);}/*** Create the Frame.*/public test6(){setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Container container=getContentPane();setBounds(500,100,600,150);setLayout(new BorderLayout());JPanel jPanel=new JPanel();jPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));JPanel jPanel2=new JPanel();JButton jButton2=new JButton("确认答案");jPanel2.add(jButton2);JButton jButton=new JButton("获取题目");jPanel.add(jButton);jPanel.add(jTextField3);jTextField3.setSize(20,10);jPanel.add(jLabel);jLabel2.setFont(new Font("黑体", Font.BOLD, 18));jPanel.add(jTextField);jPanel.add(jLabel2);jLabel.setFont(new Font("黑体", Font.BOLD, 18));jPanel.add(jTextField4);container.add(jPanel,BorderLayout.NORTH);container.add(jPanel2);jPanel2.add(jLabel3);jButton.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){randomtimu randomtimu1=new randomtimu();jTextField4.setText("");jLabel3.setText("");jTextField3.setText(String.format("%.2f",randomtimu1.x1));jTextField.setText(String.format("%.2f",randomtimu1.x2));jLabel.setText(randomtimu1.yunsuan+"");if(randomtimu1.errorString.equals("error")){JOptionPane.showMessageDialog(null, "除数不能为零");}else {result=randomtimu1.result;}}});jButton2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){if(jTextField4.getText().equals("")||jTextField4.getText()==null) {JOptionPane.showMessageDialog(null, "答案不能为空");}else {doublestring=Double.parseDouble(jTextField4.getText());String answer="正确结果是"+String.format("%.2f",result);if(Math.abs(string-result)<0.01){answer="答案正确"+answer;}else {answer="答案错误"+answer;}jLabel3.setText(answer);}}});}}2、运动的迷你小车外加图像放大功能import java.awt.BorderLayout;import java.awt.Canvas;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JSlider;import javax.swing.WindowConstants;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;public class drawcar extends JFrame{ Graphics g;Container container;JSlider jsliter11=new JSlider();ImageIcon icon=newImageIcon("http://10.102.14.234:8080/Classic_Car_Icons_005.png"); //我笔记本Tomcat服务器的照片;Image img=icon.getImage();JButton jButton1=new JButton("开始");JButton jButton2=new JButton("暂停");drawpicture dra;int x1=0;int y1=0;Boolean flag=true;public drawcar(){picture();}public void picture(){jsliter11.setMaximum(100);jsliter11.setMinimum(1);jsliter11.setValue(5);dra=new drawpicture();jsliter11.addChangeListener(newjavax.swing.event.ChangeListener(){public voidstateChanged(javax.swing.event.ChangeEvent e){dra.repaint();}});setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);setBounds(500,50,500,500);container=getContentPane();setTitle("迷你小车(黄开浪)");container.add(dra,BorderLayout.CENTER);container.add(jsliter11,BorderLayout.NORTH);JPanel jpanel2=new JPanel();jpanel2.setLayout(new FlowLayout(10, 10,10));jpanel2.add(jButton1);jpanel2.add(jButton2);container.add(jpanel2,BorderLayout.SOUTH);jButton1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){flag=true;Thread thread=new Thread(new Runnable(){@Overridepublic void run(){while(flag){if(x1<500){x1=x1+20;}else {x1=0;}try{Thread.sleep(100);}catch (InterruptedException e){// TODO自动生成的 catch 块e.printStackTrace();}dra.repaint();}}});thread.start();}});jButton2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){flag=false;}});}class drawpicture extends Canvas{public void paint(Graphics g){super.paint(g);Graphics2D gd=(Graphics2D) g;int newx=0;int newy=0;float value=jsliter11.getValue();newx=(int)(value*img.getWidth(this)/100);newy=(int)(value*img.getHeight(this)/100);//gd.rotate(Math.toRadians(5));gd.drawImage(img,x1,y1,newx,newy,this);}}public static void main(String args[]){new drawcar().setVisible(true);}}3、import java.awt.BorderLayout;import java.awt.Canvas;import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.GridLayout;import java.awt.Paint;import java.awt.Stroke;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTable;import javax.swing.WindowConstants;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableColumn;import javax.swing.table.TableColumnModel;import javax.swing.text.StyledEditorKit.BoldAction;public class tuiyou extends JFrame{Graphics g;JButton jButton1=new JButton("增加选手");JButton jButton3=new JButton("删除选手");JButton jButton2=new JButton("画图");drawpicture dra;DefaultTableModel defaultModel = null;JTable jTable1;int x;String col[]={"人数","竞选一号","竞选二号","竞选三号"};String row[][]={{"人数","竞选一号","竞选二号","竞选三号"},{"票数","100","500","700"}};public void main(){new tuiyou();}/*2 编写一个班级推选优秀生的软件,* 可列出参与推优的学生名单,能够显示当前投票人数以及每名候选者得票数, * 如果同时能够图形化显示得票数更佳。