按钮点击使gui冻结

时间:2017-08-10 15:53:37

标签: java netbeans netbeans-8

我想从jButton调用方法。但是当我按下按钮时,GUI会冻结。我已经完成了很多研究,当然我知道这个问题曾多次提出过,但我仍然无法找到解决方案。所以我要问自己。

这是我的方法:

     private void c2(){
    try{
        jTextArea1.setText("");
        int n = 0;
        float bnyAB,bnyA,bnyB=0;
        float supp,conf=0;
        for(int a=0;a<dt.size();a++)
        {
           n++;
           for(int b=0+n;b<dt.size();b++)
           {
               bnyAB=sql2.c2(dt.get(a).getKode_barang(), dt.get(b).getKode_barang());
               bnyA=dt.get(a).getNilai();
               bnyB=dt.get(b).getNilai();
               supp=bnyAB/Integer.parseInt(jTextField1.getText())*100;
               if(supp>=Float.parseFloat(jSpinner1.getValue().toString()))
               {
                   conf=(bnyAB/bnyA)*100;
                   if(conf>=Float.parseFloat(jSpinner2.getValue().toString()))
                       jTextArea1.setText(jTextArea1.getText()+" Jika membeli \" "+dt.get(a).getNama_barang()+" \" maka akan membeli \" "+dt.get(b).getNama_barang()+" \" dengan Supp "+atur.format(supp)+"% dan Conf "+atur.format(conf)+"% \n");

                   conf=(bnyAB/bnyB)*100;
                   if(conf>=Float.parseFloat(jSpinner2.getValue().toString()))
                      jTextArea1.setText(jTextArea1.getText()+" Jika membeli \" "+dt.get(b).getNama_barang()+" \" maka akan membeli \" "+dt.get(a).getNama_barang()+" \" dengan Supp "+atur.format(supp)+"% dan Conf "+atur.format(conf)+"% \n"); 
               }
           }
        }
    }catch(Exception a){
        System.out.println(a);
    }
    this.revalidate();
}


private void c3(){
    int n=0, m=0, o=0;
    String item1,item2,item3="";
    float bnyABC,bnyAB=0;
    float supp,conf=0;

    for (int a=0;a<dt.size();a++){
        n++;
        for(int b=0+n;b<dt.size();b++){
            for(int c=0+b+1;c<dt.size();c++){
                bnyABC = sql2.c3(dt.get(a).getKode_barang(), dt.get(b).getKode_barang(),dt.get(c).getKode_barang());
                supp=bnyABC/Integer.parseInt(jTextField1.getText())*100;

                if(supp>=Float.parseFloat(jSpinner1.getValue().toString()))
                {
                    bnyAB=sql2.c2(dt.get(a).getKode_barang(), dt.get(b).getKode_barang());
                    conf=(bnyABC/bnyAB)*100;

                    if(conf>=Float.parseFloat(jSpinner2.getValue().toString()))
                        jTextArea1.setText(jTextArea1.getText()+" Jika membeli \" "+dt.get(a).getNama_barang()+" \" dan \" "+dt.get(b).getNama_barang()+" \" maka akan membeli \" "+dt.get(c).getNama_barang()+" \" dengan Supp "+atur.format(supp)+"% dan Conf "+atur.format(conf)+"% \n");

                    bnyAB=sql2.c2(dt.get(a).getKode_barang(), dt.get(c).getKode_barang());
                    conf=(bnyABC/bnyAB)*100;
                    if(conf>=Float.parseFloat(jSpinner2.getValue().toString()))
                        jTextArea1.setText(jTextArea1.getText()+" Jika membeli \" "+dt.get(a).getNama_barang()+" \" dan \" "+dt.get(c).getNama_barang()+" \" maka akan membeli \" "+dt.get(b).getNama_barang()+" \" dengan Supp "+atur.format(supp)+"% dan Conf "+atur.format(conf)+"% \n");

                    bnyAB=sql2.c2(dt.get(b).getKode_barang(), dt.get(c).getKode_barang());
                    conf=(bnyABC/bnyAB)*100;
                    if(conf>=Float.parseFloat(jSpinner2.getValue().toString()))
                        jTextArea1.setText(jTextArea1.getText()+" Jika membeli \" "+dt.get(b).getNama_barang()+" \" dan \" "+dt.get(c).getNama_barang()+" \" maka akan membeli \" "+dt.get(a).getNama_barang()+" \" dengan Supp "+atur.format(supp)+"% dan Conf "+atur.format(conf)+"% \n");
                }

            }
        }
    }

actionPerformed按钮调用方法:

    private void analisis2BtnActionPerformed(java.awt.event.ActionEvent evt) {                                             
    c2();
    c3();
    }  

0 个答案:

没有答案