java程序运行速度,使用eclipse开发环境。

请问一下,同一个快速排序程序,为啥用swing控件基于JFrame的和直接在控制台输出的,时间差那么多。用控件写的时间特别长。。同样是用控件,选择排序,冒泡排序都比快排快。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class mainFrom {

JButton btnQuickSort;
JFrame mainFrame;
public mainFrom() {
    initPage();
    btnQuickSort = new JButton("开始快排");
    btnQuickSort.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            Thread quickThread = new Thread(new Runnable() {

                @Override
                public void run() {
                    //TODO 实现排序代码

                }
            });
            quickThread.start();
        }
    });
}
private void initPage() {
    // TODO 初始化页面
}

}

swing程序所有的界面事件都是在一个线程中处理,你的排序阻塞了界面处理线程,所以在排序没有结束的时候,界面事件处理线程处在阻塞状态。
像上面的代码,你把排序的逻辑放在一个线程中,这样界面就不会卡顿了。

http://jingyan.baidu.com/article/2f9b480d499dea41cb6cc295.html

再加一句,用控件写的只要一按排序,久要卡着几十秒,最后出来的时间也是几十秒,特别长

你的代码呢?肯定是代码写得有问题

控制台的输出也是需要时间的

swing页面处理是一个线程,看看你的代码 处理界面事件和处理排序的代码是不是在一个线程中