- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java小风扇程序
Java程序设计实验报告
Java Programming Assignment
专 业: 信息与计算科学
班 级: 1102
学 号: 1108060224
姓 名: 邹世林
2013年 06 月 13 日
任务(问题)描述
编程模拟风扇。通过该程序的编写掌握Java的图形绘制。具体要求有:
在窗口中绘制具有4个叶片的风扇;
用Timer或多线程程序设计实现叶片的转动;
设置启动、停止按钮,定义一个滚动条控制叶片的转速;
可以自由发挥想象力做出满意的图形。
图6.5是程序运行后的结果,该结果仅供参考。
图6.5 从列表框中进行选择的程序运行结果
二、设计与实现
类 名属 性方 法备 注
Fengshan
(驱动类) static JSlider slider
JPanel panel
JPanel panel2
JLabel label
Scanner scan
JFrame frame
JButton menu dang_1
dang_2 dang_3 stop
back keyer
Redreaw q
static final int X = 450;
static final int Y = 500;
Fengshan()
界面的处理和事件处理都在这个类中进行
main()actionPerformed()JTBactionPerformed()用于处理鼠标点击事件backtimeRun()在类中实用线程来控制定时RedreawactionPerformed()Wind(风扇) int i = 0; Paint() 绘制风扇
界面设计与事件处理
绘制电风扇的图样,设置有按键(使用说明、一档、二档、三档、定时、停止、反转)
直言点击按键就能执行相应操作(如下图)
四、源代码
import java.awt.*;
import java.awt.event.*;
import java.util.Scanner;
import javax.swing.*;
@SuppressWarnings(serial)
class Wind extends JPanel {
int i = 0;
public void paint(Graphics p) {
super.paint(p);
int x_1 = getWidth() / 2;
int y_1 = getHeight() / 2;
int a = (int) (Math.min(getWidth(), getHeight() * 0.4));
int x = x_1 - a;
int y = y_1 - a;
p.setColor(Color.red);
p.fillArc(x, y, 2 * a, 2 * a, i, 30);
p.setColor(Color.yellow);
p.fillArc(x, y, 2 * a, 2 * a, i + 90, 30);
p.setColor(Color.green);
p.fillArc(x, y, 2 * a, 2 * a, i + 180, 30);
p.setColor(Color.gray);
p.fillArc(x, y, 2 * a, 2 * a, i + 270, 30);
}
}
@SuppressWarnings(serial)
public class Fengshan extends JFrame implements ActionListener {
static int time;
static Wind p = new Wind();
Timer timer = new Timer(100, this);
static JSlider slider = new JSlider();
JPanel panel = new JPanel();
JPanel panel2 = new JPanel();
JLabel label;
static Scanner scan = new Scanner(System.in);
JFrame frame = new JFrame(西门子牌电风扇);
JButton menu = new JBu
文档评论(0)