请问各位大虾这个问题怎么解决?急!

blueraindrop 2005-01-04 09:43:57
根据命令行输入动态地将屏幕划分为N×N的矩形网格,每个网格绘制一个充满网格的矩形,以随机的颜色填充,并且每M毫秒变换一次颜色;
...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pdvv 2005-01-04
  • 打赏
  • 举报
回复
tomcatjava(小鱼儿),谢谢!
ypengfei 2005-01-04
  • 打赏
  • 举报
回复
好!!!
treeroot 2005-01-04
  • 打赏
  • 举报
回复
真不错
tomcatjava 2005-01-04
  • 打赏
  • 举报
回复
另外如果颜色要求更多的话,填充背景setBackground(Color)时,自己随机生成r,g,b三个在0-255之间的整数,然后new Color( r,g,b ),这样比我现在的9种颜色会好些。

分是少了些,呵呵
tomcatjava 2005-01-04
  • 打赏
  • 举报
回复
抛砖引玉,呵呵:

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.BorderFactory;
import javax.swing.SwingConstants;

import java.awt.Container;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.GridLayout;

/**
* @author yuch
*/
public class Play extends JFrame {
final static Color[] colors = { Color.black,Color.blue,Color.cyan,
Color.gray,Color.yellow,Color.green,
Color.magenta,Color.orange,Color.pink };
private int N = 10;
private long time = 1000;

public Play( int N,long time ) {
this.N = N;
this.time = time;

Toolkit toolKit = this.getToolkit();
Dimension windowSize = toolKit.getScreenSize();
this.setBounds( 0,0,windowSize.width,windowSize.height );

Container c = this.getContentPane();
c.setLayout( new GridLayout( N,N ) );

for( int i = 0; i < N; i ++ ) {
for( int j = 0; j < N; j ++ ) {
ColorLabel label = new ColorLabel( time );
c.add( label );
}
}

setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
show();
}

class ColorLabel extends JLabel implements Runnable {
private long time = 1000;
private Thread thread = null;

ColorLabel( long time ) {
this.time = time;
setOpaque( true );
setBorder( BorderFactory.createLineBorder(Color.red) );
thread = new Thread( this );
thread.start();
}

public void run() {
while( true ) {
int index = (int)(Math.random()*colors.length);
ColorLabel.this.setBackground( colors[index] );
try{
Thread.sleep( time );
}
catch( InterruptedException e ) {

}
}
}
}

public static void main(String[] args) {
new Play( 20,1000 );
}
}

62,614

社区成员

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

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