简单问题:怎样对一条直线进行颜色变换,用Timer对象,0.5秒变换一次? Timer对象每隔0.5秒发一个事件给直线,通知它改变颜色属性,这一具体过程是怎样的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我原来的程序是:import java.awt.*;import javax.swing.*;import java.awt.event.*;//MyWindowListener;//public class eleven1 extends JFrame{public eleven1(){super("ready");setSize(500,80);show();}public void paint(Graphics g){Font font=new Font("Serif",Font.BOLD,20);g.setFont(font);g.drawString("按顺序变换水平线为红绿蓝色",60,60);g.drawLine(60,70,400,70);}public static void main(String args[]){eleven1 app=new eleven1();app.addWindowListener(new MyWindowListener());}}现在我想让那一条直线按红黄绿的顺序变换,该怎么办? import java.awt.*;import javax.swing.*;import java.awt.event.*;//MyWindowListener;//public class Eleven1 extends JFrame implements ActionListener{ private Timer t; private int color=0; private Color[] colors={Color.red,Color.green,Color.blue}; public Eleven1() { super("ready"); t=new Timer(500,this); t.start(); setSize(500,80); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { t.stop(); System.exit(0); } }); show(); } public void actionPerformed(ActionEvent e) { color++; if (color>2) color=0; Graphics g=getGraphics(); g.setColor(colors[color]); g.drawLine(60,70,400,70); g.dispose(); } public void paint(Graphics g) { Font font=new Font("Serif",Font.BOLD,20); g.setFont(font); g.drawString("按顺序变换水平线为红绿蓝色",60,60); g.setColor(colors[0]); g.drawLine(60,70,400,70); } public static void main(String args[]) { Eleven1 app=new Eleven1(); }} JFrame 菜单有关的问题 JAVA程序如何开机自动运行 音频合成 问题 jdbc始终连接不上 sql server 2000 ? [高分]求详解JComponent类极其用法的文章! 关于进度条的问题,请大虾指教 小弟弟的初级问题,如何解决? System.getProperty的用途及用法 JAVA的JDialog或JFame如何设置只允许扩大,不允许缩小 在JAVA程序中未捕获异常后有什么问题? 能提供Jbuilder 5的下载地址吗? 我要编一个模块,大家来看看?给我提示:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//MyWindowListener;//
public class eleven1 extends JFrame
{
public eleven1()
{
super("ready");
setSize(500,80);
show();
}
public void paint(Graphics g)
{
Font font=new Font("Serif",Font.BOLD,20);
g.setFont(font);
g.drawString("按顺序变换水平线为红绿蓝色",60,60);
g.drawLine(60,70,400,70);
}
public static void main(String args[])
{
eleven1 app=new eleven1();
app.addWindowListener(new MyWindowListener());
}
}
现在我想让那一条直线按红黄绿的顺序变换,该怎么办?
import javax.swing.*;
import java.awt.event.*;
//MyWindowListener;//public class Eleven1 extends JFrame implements ActionListener
{
private Timer t;
private int color=0;
private Color[] colors={Color.red,Color.green,Color.blue};
public Eleven1()
{
super("ready");
t=new Timer(500,this);
t.start();
setSize(500,80);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
t.stop();
System.exit(0);
}
});
show();
}
public void actionPerformed(ActionEvent e)
{
color++;
if (color>2) color=0;
Graphics g=getGraphics();
g.setColor(colors[color]);
g.drawLine(60,70,400,70);
g.dispose();
}
public void paint(Graphics g)
{
Font font=new Font("Serif",Font.BOLD,20);
g.setFont(font);
g.drawString("按顺序变换水平线为红绿蓝色",60,60);
g.setColor(colors[0]);
g.drawLine(60,70,400,70);
}
public static void main(String args[])
{
Eleven1 app=new Eleven1();
}
}