日期:2014-05-20  浏览次数:20743 次

一个可视化排序过程,为什么没效果呢,求高手谢谢....
package haha;
import java.awt.Color;
import java.awt.Graphics;
import haha.paint1.MyPanel;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class pain10 extends Thread {
static int []array=new int[]{80, 110, 130, 190, 175, 150, 140, 110, 220, 100, 70, 185};
    static int n=12;
    static JPanel pan = new MyPanel();
static paint1 frm = new paint1();
public void main(String[]args)
{
frm.setSize(300,250);
frm.add(pan);
pan.setBounds(100,100,300,250);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setVisible(true);
Thread k = new Thread(new pain10());
k.start();

}
public void paintComponent(Graphics g)
{
pan.paintComponents(g);
g.setColor(Color.red);
selection(array,n);
g.drawRect(500,(480-array[0]),20,array[0]);
g.drawRect(520,(480-array[1]),20,array[1]);
g.drawRect(540,(480-array[2]),20,array[2]);
g.drawRect(560,(480-array[3]),20,array[3]);
g.drawRect(580,(480-array[4]),20,array[4]);
g.drawRect(600,(480-array[5]),20,array[5]);
g.drawRect(620,(480-array[6]),20,array[6]);
g.drawRect(640,(480-array[7]),20,array[7]);
g.drawRect(660,(480-array[8]),20,array[8]);
g.drawRect(680,(480-array[9]),20,array[9]);
g.drawRect(700,(480-array[10]),20,array[10]);
g.drawRect(720,(480-array[11]),20,array[11]);
}
public   void  selection(int[]array,int n)
{
 int smallIndex;
 for(int i=0; i<n-1; i++)
 {
 smallIndex = i;
 for(int j=i+1; j<n; j++)
 {
 if(array[j] < array[smallIndex])
 {
 smallIndex = j;
 }
 }
 if(smallIndex != i)
 {
 int temp = array[i];
 array[i] = array[smallIndex];
 array[smallIndex] = temp; 
 }
 run();
 }
}
public void run()
{
try{
Thread.sleep(1000);
}
catch(InterruptedException e){}
}

}

------解决方案--------------------
所有代码贴出来
------解决方案--------------------
import haha.paint1.MyPanel; 这部分代码呢?    paint1类代码贴出来下~