简单问题:怎样对一条直线进行颜色变换,用Timer对象,0.5秒变换一次?

samsult 2001-07-19 05:12:24
...全文
185 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiangou 2001-09-18
  • 打赏
  • 举报
回复
为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????为什么不给分??????????????????????????????????
frenzieddragon 2001-07-23
  • 打赏
  • 举报
回复
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();
}
}
samsult 2001-07-19
  • 打赏
  • 举报
回复
我原来的程序是:
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());
}
}
现在我想让那一条直线按红黄绿的顺序变换,该怎么办?
samsult 2001-07-19
  • 打赏
  • 举报
回复
Timer对象每隔0.5秒发一个事件给直线,通知它改变颜色属性,这一具体过程是怎样的?
samsult 2001-07-19
  • 打赏
  • 举报
回复
那怎样周期性的调用,例如:红、黄、蓝的顺序,能不能大概写一下程序,万分感谢
frenzieddragon 2001-07-19
  • 打赏
  • 举报
回复
重画啊

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧