了解下JAVA的[JAVA100例]023、滑动杆
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net网页编程比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavax.swing.event.*;
/**
*<p>Title:滑动杆演示</p>
*<p>Description:利用滑动杆把持准时器,来把持图片的播放速率</p>
*<p>Copyright:Copyright(c)2003</p>
*<p>Filename:SliderDemo.java</p>
*@version1.0
*/
publicclassSliderDemoextendsJPanel
implementsActionListener,
WindowListener,
ChangeListener{
//设置图片的参数
staticfinalintFPS_MIN=0;//设置最小值
staticfinalintFPS_MAX=30;//设置最年夜值
staticfinalintFPS_INIT=15; //初始数值
intframeNumber=0;
intNUM_FRAMES=14;
ImageIcon[]images=newImageIcon;
intdelay;
Timertimer;
booleanfrozen=false;
//这个标签用来显现这只小狗
JLabelpicture;
publicSliderDemo(){
setLayout(newBoxLayout(this,BoxLayout.PAGE_AXIS));
delay=1000/FPS_INIT;
//信息提醒标签
JLabelsliderLabel=newJLabel("调剂滑动杆,改动播放速率!",JLabel.CENTER);
sliderLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
//创立一个滑动杆,界说了最小值和最年夜值和初始值
JSliderframesPerSecond=newJSlider(JSlider.HORIZONTAL,
FPS_MIN,FPS_MAX,FPS_INIT);
framesPerSecond.addChangeListener(this);
//界说滑动杆参数
framesPerSecond.setMajorTickSpacing(10);//每10刻度标注一次
framesPerSecond.setMinorTickSpacing(1);//最小刻度为1
framesPerSecond.setPaintTicks(true);//绘制滑动杆上的刻度
framesPerSecond.setPaintLabels(true);//在滑动过程当中绘制滑动块
framesPerSecond.setBorder(
BorderFactory.createEmptyBorder(0,0,10,0));
//界说一个用来显现图片的标签
picture=newJLabel();
picture.setHorizontalAlignment(JLabel.CENTER);
picture.setAlignmentX(Component.CENTER_ALIGNMENT);
picture.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLoweredBevelBorder(),
BorderFactory.createEmptyBorder(10,10,10,10)));
updatePicture(0);//显现第一张图
//将成员增加到面板上
add(sliderLabel);
add(framesPerSecond);
add(picture);
setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
//设置一个准时器来触发这个事务
timer=newTimer(delay,this);
timer.setInitialDelay(delay*7);//在每轮轮回停留工夫
timer.setCoalesce(true);//设置反复轮回
}
/**
*<br>办法申明:增加一个窗体监听
*<br>输出参数:
*<br>前往范例:
*/
voidaddWindowListener(Windoww){
w.addWindowListener(this);
}
publicvoidwindowIconified(WindowEvente){
stopAnimation();
}
publicvoidwindowDeiconified(WindowEvente){
startAnimation();
}
publicvoidwindowOpened(WindowEvente){}
publicvoidwindowClosing(WindowEvente){}
publicvoidwindowClosed(WindowEvente){}
publicvoidwindowActivated(WindowEvente){}
publicvoidwindowDeactivated(WindowEvente){}
/**
*<br>办法申明:对滑动杆举行监听
*<br>输出参数:ChangeEvente滑动杆变化事务
*<br>前往范例:
*/
publicvoidstateChanged(ChangeEvente){
JSlidersource=(JSlider)e.getSource();
if(!source.getValueIsAdjusting()){
intfps=(int)source.getValue();//取得滑动杆的值
if(fps==0){
if(!frozen)stopAnimation();
}else{
delay=1000/fps;
timer.setDelay(delay);
timer.setInitialDelay(delay*10);
if(frozen)startAnimation();
}
}
}
/**
*<br>办法申明:入手下手动画
*<br>输出参数:
*<br>前往范例:
*/
publicvoidstartAnimation(){
timer.start();
frozen=false;
}
/**
*<br>办法申明:中断动画
*<br>输出参数:
*<br>前往范例:
*/
publicvoidstopAnimation(){
timer.stop();
frozen=true;
}
/**
*<br>办法申明:事务监听
*<br>输出参数:
*<br>前往范例:
*/
publicvoidactionPerformed(ActionEvente){
//改动图片帧
if(frameNumber==(NUM_FRAMES-1)){
frameNumber=0;
}else{
frameNumber++;
}
updatePicture(frameNumber);//显现下张图
if(frameNumber==(NUM_FRAMES-1)
||frameNumber==(NUM_FRAMES/2-1)){
timer.restart();
}
}
/**
*<br>办法申明:绘制以后帧
*<br>输出参数:intframeNum图片帧数数
*<br>前往范例:
*/
protectedvoidupdatePicture(intframeNum){
if(images==null){
images=createImageIcon("images/doggy/T"
+frameNumber
+".gif");
}
//绘制图片
if(images!=null){
picture.setIcon(images);
}else{//假如没有发明图片
picture.setText("image#"+frameNumber+"notfound");
}
}
/**
*<br>办法申明:猎取图片
*<br>输出参数:Stringpath图片路径
*<br>前往范例:ImageIcon图片对象
*/
protectedstaticImageIconcreateImageIcon(Stringpath){
java.net.URLimgURL=SliderDemo.class.getResource(path);
if(imgURL!=null){
returnnewImageIcon(imgURL);
}else{
System.err.println("Couldn 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 Java 编程语言的风格十分接近C、C++语言。 Java是一种计算机编程语言,拥有跨平台、面向对java
页:
[1]