Java滑竿演示器.docx

上传人:b****5 文档编号:8571068 上传时间:2023-01-31 格式:DOCX 页数:10 大小:69.27KB
下载 相关 举报
Java滑竿演示器.docx_第1页
第1页 / 共10页
Java滑竿演示器.docx_第2页
第2页 / 共10页
Java滑竿演示器.docx_第3页
第3页 / 共10页
Java滑竿演示器.docx_第4页
第4页 / 共10页
Java滑竿演示器.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

Java滑竿演示器.docx

《Java滑竿演示器.docx》由会员分享,可在线阅读,更多相关《Java滑竿演示器.docx(10页珍藏版)》请在冰豆网上搜索。

Java滑竿演示器.docx

Java滑竿演示器

JAVA语言课程设计

设计题目:

滑竿演示

 

任务目标:

做一个用户图形界面的滑竿演示器,用水平和垂直滑竿的滑动幅度来控制面板中椭圆的形状。

 

学院:

软件学院

班级:

应用技术四班

姓名:

韩公达

学号:

日期:

2009/7/8

目录

JAVA语言课程设计1

目录2

1设计要求1

1.1程序要求1

1.2运行效果1

1.2.1主界面1

1.2.2仅滑动竖直滑竿2

1.2.3仅调动水平滑竿2

1.2.4同时滑动水平和竖直滑竿3

2程序整体设计说明3

2.1程序中所使用的类3

2.2.主要成员方法3

2.3内部类4

2.3异常处理说明4

2.4算法4

2.4.1滑竿事件处理4

2.4.2实例化滑竿5

2.4.3增加滑竿的事件处理5

2.4.4增加组件到容器上5

2.4.5画椭圆5

2.5.6椭圆高和宽的修改器6

2.5源代码6

参考文献9

致谢10

1设计要求

1.1程序要求

本程序是一个图形用户界面程序,有水平和竖直两个滑竿,要求滑动任意的滑竿椭圆的形状都要跟随滑竿的滑动幅度而变化。

1.2运行效果

1.2.1主界面

图1-1主界面

1.2.2仅滑动竖直滑竿

图1-2调动竖直滑竿

1.2.3仅调动水平滑竿

图1-3调动水平滑竿

1.2.4同时滑动水平和竖直滑竿

图1-4同时滑动水平和竖直滑竿

2程序整体设计说明

2.1程序中所使用的类

类名:

publicclassJSliderDemo

作用:

主类

继承的父类:

JFrame

类名:

classValueChangeListener

作用:

滑竿事件处理

实现接口:

ChangeListenerr

类名:

publicclassGraphPanel

作用:

画椭圆

继承的父类:

JPanel

2.2.主要成员方法

publicJSliderDemo()

构造方法

设置各组件的大小,添加组件

publicvoidstateChanged(ChangeEvente)

事件处理

用来设置椭圆的高和宽。

publicvoidpaintComponent(Graphicsg)

调用父类方法绘制椭圆。

publicvoidsetW(intlength)

设置宽度,重绘组件。

publicvoidsetH(intlength)

设置高度,重绘组件。

2.3内部类

类名:

classValueChangeListener

作用:

滑竿事件处理

实现接口:

ChangeListener

2.3异常处理说明

无异常处理。

2.4算法

2.4.1滑竿事件处理

在publicvoidstateChanged(ChangeEvente)方法中,

if(e.getSource()==xSlider)

则panel.setW(xSlider.getValue());

设置椭圆的宽度

else{

panel.setH(ySlider.getValue());

}

设置椭圆高度

2.4.2实例化滑竿

实例化水平滑竿:

xSlider=newJSlider(SwingConstants.HORIZONTAL,0,200,10);

设置水平滑竿的刻度

xSlider.setMajorTickSpacing(10);

实例化竖直滑竿:

ySlider=newJSlider(SwingConstants.VERTICAL,0,200,10);

设置竖直滑竿的刻度

ySlider.setMajorTickSpacing(10);

2.4.3增加滑竿的事件处理

增加水平滑竿的事件处理:

xSlider.addChangeListener(myListener);

增加竖直滑竿的事件处理:

ySlider.addChangeListener(myListener);

2.4.4增加组件到容器上

添加水平滑竿:

container.add(xSlider,BorderLayout.SOUTH);

添加竖直滑竿:

container.add(ySlider,BorderLayout.EAST);

添加椭圆面板:

container.add(panel,BorderLayout.CENTER);

2.4.5画椭圆

调用父类方法

super.paintComponent(g);

绘制椭圆

g.fillOval(5,5,width,hight);

2.5.6椭圆高和宽的修改器

椭圆宽度的修改器:

publicvoidsetW(intlength)

{

width=(length>=0?

length:

10);

repaint();

}

椭圆高度的修改器

publicvoidsetH(intlength)

{

hight=(length>=0?

length:

10);

repaint();

}

2.5源代码

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjavax.swing.event.*;

//滑杆

//@author康爱丽

//

publicclassJSliderDemoextendsJFrame{

JSliderxSlider;

JSliderySlider;

GraphPanelpanel;

publicJSliderDemo()

{

super("康爱丽制作的滑杆演示");

panel=newGraphPanel();

panel.setBackground(Color.orange);

xSlider=newJSlider(SwingConstants.HORIZONTAL,0,200,10);

xSlider.setMajorTickSpacing(10);

//设置刻度值

xSlider.setPaintTicks(true);//描绘刻度

ySlider=newJSlider(SwingConstants.VERTICAL,0,200,10);

ySlider.setMajorTickSpacing(10);

ySlider.setPaintTicks(true);

ySlider.setInverted(true);//设置拖动方向

ValueChangeListenermyListener=newValueChangeListener();//实例化滑杆事件处理

xSlider.addChangeListener(myListener);

ySlider.addChangeListener(myListener);

Containercontainer=getContentPane();//得到容器

container.add(xSlider,BorderLayout.SOUTH);//增加组件到容器上

container.add(ySlider,BorderLayout.EAST);

container.add(panel,BorderLayout.CENTER);

setSize(320,320);

setVisible(true);

setLocation(300,220);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序

}

classValueChangeListenerimplementsChangeListener{

publicvoidstateChanged(ChangeEvente){

if(e.getSource()==xSlider){//判断事件源

panel.setW(xSlider.getValue());//设置椭圆宽度

}

else{

panel.setH(ySlider.getValue());//设置椭圆高度

}

}

}

publicstaticvoidmain(Stringargs[]){

newJSliderDemo();

}

}

importjava.awt.*;

importjavax.swing.*;

publicclassGraphPanelextendsJPanel{

intwidth=10;

inthight=10;

publicvoidpaintComponent(Graphicsg){

super.paintComponent(g);

g.fillOval(5,5,width,hight);//绘制椭圆

}

publicvoidsetW(intlength){

width=(length>=0?

length:

10);

repaint();

}

publicvoidsetH(intlength){

hight=(length>=0?

length:

10);

repaint();

}

}

参考文献

[1]《JAVA程序语言设计》马皓清华大学出版社

[2]《JAVA2程序设计实用教程》宋振会陈立电子工业出版社

[3]《JAVA编程思想》(美)BruceEckel侯捷(译)机械工业出版社

[4]《JAVA基础教程》耿祥义清华大学出版社

[5]《JAVA语言学习手册》PatrickNiemeyerJonatbanKmudsen林琪(译)中国电力出版社

致谢

感谢计算机科学与技术学院陈玮老师,在学习JAVA中他给了我很大帮助,给了我信心。

感谢我的朋友给我的点拨。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1