Java 在排序运行时,将值设置为一个jLabel和textboxs public void快速排序(int[]A,int-p,int-r){ if(p
如果在外部线程中执行此操作,则必须使用Swing实用程序invokeLater(或invokeAndWait)在EDT中计划Swing组件状态的更新Java 在排序运行时,将值设置为一个jLabel和textboxs public void快速排序(int[]A,int-p,int-r){ if(p,java,swing,event-dispatch-thread,thread-sleep,Java,Swing,Event Dispatch Thread,Thread Sleep,如果在外部线程中执行此操作,则必须使用Swing实用程序invokeLater(或invokeAndWait)在EDT中计划Swing组件状态的更新 public void快速排序(int[]A,int-p,int-r){ if(p
public void快速排序(int[]A,int-p,int-r){
if(p
不要在EDT上睡觉;你看,嗯。。。问题是什么,真的?您遇到了什么障碍,您试图克服它的方法是什么?还有,lblPartitionPoint.setText(“Partition point=“+q”)
将在每个递归上覆盖现有的标签值!拥有一个lblPartitionPoint
数组,并在每个递归中设置每个标签,1乘1,如果它很重要的话!你能用简单的例子解释一下如何设置值来标记每个递归吗。。
public void QUICKSORT(int[] A, int p, int r) {
if(p < r)
{
q=PARTITION(A,p,r);
labelPartitionPoint.setText("Partition point = "+q);
Thread.sleep(3000);
QUICKSORT(A,p,q-1);
QUICKSORT(A,q+1,r);
}
}
public void QUICKSORT(int[] A, int p, int r) {
if(p < r)
{
q=PARTITION(A,p,r);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
lblPartitionPoint.setText("Partition point = "+q);
}
});
Thread.sleep(3000);
QUICKSORT(A,p,q-1);
QUICKSORT(A,q+1,r);
}
}