线程与分形

      在初学线程,最先碰到的问题是,不知道怎么启动一个线程(这并不是指不会Start()方法),而是启动线程中各个线程之间的调用,调理不理清,总是会出现各种问题。

    我遇到的就是,在画板中调用线程,在这里就得理清,从画板到鼠标监听器。

	MouseListener l = new MouseListener(g);
		this.addMouseListener(l);

            从鼠标监听器到线程

public MouseListener(Graphics g){
		this.g = g;
	}
	
	
	public void mouseClicked(MouseEvent e) {
		drawThread f = new drawThread(g,count);
		f.start();
		count++;

       在这里我还传入一个Count变量,来控制随鼠标点击次数的增加,实现不同的画图。

	public void run(){
		if(count==1){
			for(int i=0;i<100;i++){
				g.fillOval(5*i, 5*i, 50, 50);
						try {
							Thread.sleep(300);
						} catch (InterruptedException e) {
							
							e.printStackTrace();
						}
			 }
			count++;
		}

    做到这里,基本是完成了,但是当我想改变某个图形的颜色的时候,发现他会干扰其他线程,使其他线程的颜色都开始改变。

  这让我联想到,做五子棋的时候颜色的变换,但是当我把每个图形的颜色都设定了以后,就发现问题已经解决了。所以,遇到问题有时候得思考,但更多时候要动手去做,要是光是想,我现在估计又的回去看以前写五子棋的代码了!

你可能感兴趣的:(线程)