资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
河南理工大学计算机科学与技术学院课程实训报告20 11 20 12 学年第 二 学期课程名称 JAVA语言程序设计(高级篇)设计题目 实现转动的风扇 学生姓名 张建锋 学 号 411120010144 专业班级 计应1101 2012 年 6 月 22 日II一、功能描述通过代码将程序改造成为一个可以自动旋转的小风扇,并且做到:(1)当按下加速时可以加快小风扇的旋转速度。(2)当按下反转时可以反着旋转,(3)当按下减速时减速转动。(4)当按下反转时可以反转(5)可以暂停(6)同时可以通过滚动条来控制小风扇的旋转速度,当拖动滑动条时可以对应于控制风扇的速度。二、Java源文件与类描述1. 文件名类 名属 性方 法备 注DrawArcsPublicDrawArcs()主函数public String getNameButtonHandlerPublicactionPerformed(ActionEvent e)实现接口ActionListenerstateChangedtaskactionPerformed(ActionEvent e)实现接口ActionListenerTransPanepaintComponent(Graphics g)继承于JPanel三、界面设计与事件处理说明程序运行主界面如图所示,总结布局思路是将4个按钮放在主界面的下面(加速,暂停,减速,反转),将滑动杆垂直放于界面的左边。(1)当按下加速时,风扇将加速旋转(2)当按下减速时,风扇将减速旋转(3)当按下暂停时,风扇将暂停,停止旋转(4)当按下反转时,风扇将反方向旋转(5)滑动杆标度为(0360)当拖动滑动杆时,同样可以控制风扇的旋转速度,向上拖动时将加速旋转,当向下拖动时将减速旋转。四、(其它)附:源程序代码框架import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import javax.swing.event.ChangeEvent;import java.awt.*;import java.awt.geom.*;import java.awt.event.*;import java.applet.AudioClip;public class DrawArcs extends JFrame implements ActionListener,ChangeListenerstatic int time=1; static int ti; JSlider jslh; Timer time_1 = new Timer(100,this);x1 x=new x1();static TransPane jp;JButton add=new JButton(加速); JButton stop=new JButton(暂停); JButton low=new JButton(减速); JButton conver=new JButton(反转); JTextField TextIn = new JTextField(100); JPanel p=new JPanel();public DrawArcs()super(旋转); add(jp); jslh=new JSlider(JSlider.VERTICAL,0,360,0); jslh.setMajorTickSpacing(30); jslh.setPaintLabels(true); jslh.setValue(100); add(jslh,BorderLayout.WEST); p.setLayout(new FlowLayout(FlowLayout.CENTER,30,30); p.add(add); p.add(stop); p.add(low); p.add(conver); add(p,BorderLayout.SOUTH); add.addActionListener(new ButtonHandler(); low.addActionListener(new ButtonHandler(); stop.addActionListener(new ButtonHandler(); conver.addActionListener(new ButtonHandler();time_1=new Timer(1,x);time_1.start();class ButtonHandler implements ActionListenerpublic void actionPerformed(ActionEvent e) if(e.getSource()=add)if(time=0)time+;else if(time0)time-;else if(time0)time+;else if(e.getSource()=stop)if(time!=0)ti=time;time=0;elsetime=ti;else if(e.getSource()=conver)time=-time; public void stateChanged(ChangeEvent e) if(e.getSource() = jslh) double value = jslh.getValue(); String s= ; s+=(int)value; TextIn.setText(s); time_1.setDelay(int)(200-value); public static void main(String args)jp=new TransPane();DrawArcs tran=new DrawArcs();tran.setSize(250,300);tran.setVisible(true);tran.pack();public void actionPerformed(ActionEvent arg0) class x1 implements ActionListenerpublic void actionPerformed(ActionEvent e)TransPane t1=new TransPane();jp.i+=time;jp.repaint();class TransPane extends JPanelint i=0;protected void paintComponent(Graphics g)super.paintComponent(g);Graphics2D g2d=(Graphics2D) g;int xCenter=getWidth()/2;int yCenter=getHeight()/2;int radius=(int)(Math.min(getWidth(),getHeight()*0.4);int x=xCenter-radius;int y=yCenter-radius;AffineTransform trans=new AffineTransform();g2d.fillArc(x,y,2*radius,2*radius,i,30); g2d.setColor(Color.red);g2d.fillArc(x,y,2*radius,2*radius,i+90,30); g2d.setColor(Color.yellow);g2d.fillArc(x,y,2*radius,2*radius,i+180,30); g2d.setColor(Color.green);g2d.fillArc(x,y,2*radius,2*radius,i+270,30);g2d.setColor(Color.gray);程序运行界面:实验总结:这次的课程设计不仅起到了温故的效果,而且使我对构造函数,构造方法等Java常用的一些编程语言又有了更加深刻的了解。在刚开始的设计中,由于中间隔的时间长,部分东西都忘了,根本编不出。经过重新的查看课本,复习以前的笔记才回想起以前的知识。还有通过本次的上机编程,也使我更加的明白,在编写出错误程序时,独立的修改能力也是必不可少的。所以学好英语是必要的。所以我总结出我在以后的学习中的方法: 1、课堂上学到的知识,在课下一定要反复的练习。 2、编程中一定要有独立的修改错误的习惯。 3、一定要多看关于编程设计方面的书。 4、英语的学习什么时候都不能丢。通过这次的课程设计我学到了很多的知识。首先我必须面临的是上机实践操作的问题。这也是我的最大问题,课堂上的东西听懂了不代表会,不代表能掌握。尤其是我们学习计算机软件的学生,更是需要大量的实践。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号