Java JButton没有出现在JFrame上

时间:2015-01-25 10:50:00

标签: java swing

这是JFrame HidingOperationView的重要片段:

 hideBtn.addActionListener(new ActionListener(){
               @Override
               public void actionPerformed(ActionEvent arg0){

                   currentPixelInImageToHide.setVisible(true);
                   pixelOfToHideTable.setVisible(true);

                   nextStep.setVisible(true);
                   doAll.setVisible(true);                      

                   SteganographyOperationsUtil.hidingOperation(
                               getSelectedFirstImageModel(), copyOfToHide, posterisation);  

               }                    
            });    
            nextStep.addActionListener(new ActionListener(){
               @Override
               public void actionPerformed(ActionEvent arg0){                      
                   SteganographyOperationsUtil.key=1;
            }                    
            }); 
            doAll.addActionListener(new ActionListener(){
               @Override
               public void actionPerformed(ActionEvent arg0){
                   SteganographyOperationsUtil.key2=1;
            }                    
            });  

key和key2是我在类SteganographyOperationsUtil中的控制者,何时在循环内等待:

int key = 1 int key2 = 0

键由“下一步”按钮控制,因此循环只前进一次,在JTable中显示结果并等待另一次点击。 Key2由按钮'doAll'控制,允许循环运行直到结束而不停止。

隐藏操作中的

    for (int x = 0; x < hiding.getWidth(); ++x) {
        for (int y = 0; y < hiding.getHeight(); ++y) {

            if(temp < header.length()){
               ...
            }else{
                while (key!=1){
                    sleep(100);
                }
                key=key2;
                ...

                if (key2 == 0){

                    throwToTable(HidingOperationView.pixelOfToHideTable, 
                            colorOfToHideBinary);
                }
            }
       }    
      }

问题是控制循环的按钮根本没有出现, 他们只是这样做,当我评论这条线:     SteganographyOperationsUtil.hidingOperation(getSelectedFirstImageModel(),copyOfToHide,posterisation);

也许这不是控制循环的最好方法,但我不知道如何做到这一点。

0 个答案:

没有答案