【问题标题】:Java 1.7 seems to show jPanels differently to other Java versionsJava 1.7 似乎显示 jPanel 与其他 Java 版本不同
【发布时间】:2017-02-11 07:08:13
【问题描述】:

如果这是一个愚蠢的问题,请原谅我,但我目前正在编写我的第一个 java 程序(我以前使用过其他语言),并且我发现我的 jPanel 的显示方式有些奇怪

根据我在这里找到的信息,我创建了一个框架,一个主 jPanel,然后是 2 个子 jPanel(jPanel1 和 jPanel2),并且当按下按钮时,我正在使用卡片布局从 jPanel1 更改为 jPanel2... .按下按钮也会启动一些代码,这些代码会做一些事情并更新我在 jPanel2 上的进度条

在 netbeans 中,我上传了 Java 1.6、1.7 和 1.8 库。如果我选择 1.6 或 1.8,一切似乎都可以正常工作(如果我在安装了这些 java 版本的机器上运行也一样)....但是如果我使用 1.7,当我单击按钮时,只有 jPanel2 上的组件会显示,并且jPanel1 中的一些组件仍然可见(jPanel2 中的组件未覆盖的组件)... jPanel2 组件由程序正确更新

一旦程序完成它的工作,jPanel2 就会正确显示,而 jPanel1 组件将从视图中消失

我已检查以确保 jPanel 设置为不透明。我尝试从 jPanel1 中删除组件、重绘、验证等,但仍然显示相同。

1.7 中是否有一些错误或者我应该以不同的方式做事(很可能:))

如果我不运行执行这些操作的程序,那么按钮只会更改 jPanel,那么在任何 Java 版本中看起来都正常。

似乎程序正在锁定一些也与 jPanel1 相关的线程,所以只有在程序完成后,jPanel1 才能消失......这听起来对吗?......在这种情况下什么是最好的解决办法?

(对长帖表示歉意,请视为完全新手)

请求的信息: 所以我的按钮代码目前看起来像这样:

    private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {                                          

    jProgressBar1.setValue(0);
    jLabelinfo.setText("Working...");
    jButtonClose.setEnabled(false);
    jPanel1.setVisible(false);


    CardLayout card = (CardLayout)mainPanel.getLayout();
    card.show(mainPanel, "cardjPanel2");
    jPanel2.setFocusable(true);
    jPanel2.requestFocus();


    //MainFrame. //TODO add your handling code here:
} 

当我试图解决这个问题时,我目前在 jPanel2 获得焦点时调用了我的程序方法,所以这段代码看起来像这样:

    private void jPanel2FocusGained(java.awt.event.FocusEvent evt) {                                    

    runprogram();
}  

问题如下:

程序运行时的屏幕 1

当按下OK并显示jPanel2时,程序运行时是这样的(程序执行过程中进度条正确移动)

下面是我的 .java 文件中重新创建 jPanel 的代码,然后当按下 OK 时,切换到 jPanel2,然后每秒更新进度条。如您所见,当按下 OK 时,OK 和 Cancel 仍然可见(一些文本字段也是如此)。程序完成后,jPanel2 就会正确显示。

导入 java.awt.; 导入 javax.swing.;

/* * 要更改此许可标头,请在项目属性中选择许可标头。 * 要更改此模板文件,请选择工具 |模板 * 并在编辑器中打开模板。 */

/** * * @作者 PBETTS */ 公共类 MainFrame 扩展 javax.swing.JFrame {

public static String agentinforesult;

/**
 * Creates new form MainFrame
 */
public MainFrame() {
    initComponents();
}

/**
 * This method is called from within the constructor to initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is always
 * regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    mainPanel = new javax.swing.JPanel();
    jPanel1 = new javax.swing.JPanel();
    jLabelpmhost = new javax.swing.JLabel();
    jLabelvchost = new javax.swing.JLabel();
    jLabelarhost = new javax.swing.JLabel();
    jLabelmthost = new javax.swing.JLabel();
    jTextFieldpmhost = new javax.swing.JTextField();
    jTextFieldvchost = new javax.swing.JTextField();
    jTextFieldarhost = new javax.swing.JTextField();
    jTextFieldmthost = new javax.swing.JTextField();
    jButtonOK = new javax.swing.JButton();
    jButtonCancel = new javax.swing.JButton();
    jLabel1 = new javax.swing.JLabel();
    jPanel2 = new javax.swing.JPanel();
    jButtonClose = new javax.swing.JButton();
    jProgressBar1 = new javax.swing.JProgressBar();
    jLabelinfo = new javax.swing.JLabel();
    jLabel3 = new javax.swing.JLabel();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setMinimumSize(new java.awt.Dimension(640, 400));
    setResizable(false);
    setSize(new java.awt.Dimension(640, 400));
    addWindowListener(new java.awt.event.WindowAdapter() {
        public void windowActivated(java.awt.event.WindowEvent evt) {
            formWindowActivated(evt);
        }
        public void windowOpened(java.awt.event.WindowEvent evt) {
            formWindowOpened(evt);
        }
    });

    mainPanel.setPreferredSize(new java.awt.Dimension(530, 313));
    mainPanel.setLayout(new java.awt.CardLayout());

    jPanel1.setPreferredSize(new java.awt.Dimension(530, 313));

    jLabelpmhost.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jLabelpmhost.setText("PM Hostname");

    jLabelvchost.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jLabelvchost.setText("vCenter/Hyper-V Hostname");

    jLabelarhost.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jLabelarhost.setText("AR Hostname");

    jLabelmthost.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jLabelmthost.setText("Mid Tier Hostname");

    jTextFieldpmhost.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

    jTextFieldvchost.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

    jTextFieldarhost.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jTextFieldarhost.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jTextFieldarhostActionPerformed(evt);
        }
    });

    jTextFieldmthost.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jTextFieldmthost.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jTextFieldmthostActionPerformed(evt);
        }
    });

    jButtonOK.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jButtonOK.setText("OK");
    jButtonOK.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonOKActionPerformed(evt);
        }
    });

    jButtonCancel.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jButtonCancel.setText("Cancel");
    jButtonCancel.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonCancelActionPerformed(evt);
        }
    });

    jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    jLabel1.setText("Environment Checker");

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel1Layout.createSequentialGroup()
            .addGap(15, 15, 15)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addGap(0, 97, Short.MAX_VALUE)
                    .addComponent(jButtonOK, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(90, 90, 90)
                    .addComponent(jButtonCancel, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(88, 88, 88))
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabelpmhost, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jLabelarhost, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabelvchost, javax.swing.GroupLayout.DEFAULT_SIZE, 250, Short.MAX_VALUE)
                            .addComponent(jLabelmthost, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addGap(18, 18, 18)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jTextFieldvchost)
                        .addComponent(jTextFieldpmhost)
                        .addComponent(jTextFieldarhost)
                        .addComponent(jTextFieldmthost))))
            .addContainerGap())
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(168, 168, 168))
    );
    jPanel1Layout.setVerticalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel1Layout.createSequentialGroup()
            .addContainerGap()
            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(22, 22, 22)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabelpmhost)
                .addComponent(jTextFieldpmhost, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(18, 18, 18)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabelvchost)
                .addComponent(jTextFieldvchost, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(18, 18, 18)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabelarhost)
                .addComponent(jTextFieldarhost, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(18, 18, 18)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabelmthost)
                .addComponent(jTextFieldmthost, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jButtonCancel, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jButtonOK, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );

    mainPanel.add(jPanel1, "cardjPanel1");

    jPanel2.setPreferredSize(new java.awt.Dimension(530, 313));
    jPanel2.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusGained(java.awt.event.FocusEvent evt) {
            jPanel2FocusGained(evt);
        }
    });

    jButtonClose.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jButtonClose.setText("Close");
    jButtonClose.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonCloseActionPerformed(evt);
        }
    });

    jProgressBar1.setOpaque(true);

    jLabelinfo.setFont(new java.awt.Font("Tahoma", 0, 17)); // NOI18N

    jLabel3.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    jLabel3.setText("Environment Checker");

    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
    jPanel2.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(
        jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel2Layout.createSequentialGroup()
            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jLabelinfo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addGap(206, 206, 206)
                    .addComponent(jButtonClose, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(0, 0, Short.MAX_VALUE)))
            .addContainerGap())
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
            .addGap(0, 148, Short.MAX_VALUE)
            .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(168, 168, 168))
        .addGroup(jPanel2Layout.createSequentialGroup()
            .addContainerGap()
            .addComponent(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addContainerGap())
    );
    jPanel2Layout.setVerticalGroup(
        jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
            .addGap(6, 6, 6)
            .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(29, 29, 29)
            .addComponent(jLabelinfo, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(28, 28, 28)
            .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(38, 38, 38)
            .addComponent(jButtonClose, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(23, 23, 23))
    );

    mainPanel.add(jPanel2, "cardjPanel2");

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 640, Short.MAX_VALUE)
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addComponent(mainPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, Short.MAX_VALUE)))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 400, Short.MAX_VALUE)
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addComponent(mainPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, Short.MAX_VALUE)))
    );

    pack();
}// </editor-fold>                        

private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {                                          

    JLabel test = new JLabel("test", JLabel.LEFT);

    jProgressBar1.setValue(0);
    jLabelinfo.setText("Working...");
    jButtonClose.setEnabled(false);


    CardLayout card = (CardLayout)mainPanel.getLayout();
    card.show(mainPanel, "cardjPanel2");
    jPanel2.setFocusable(true);
    jPanel2.requestFocus();


    //MainFrame. //TODO add your handling code here:
}                                         

private void jTextFieldarhostActionPerformed(java.awt.event.ActionEvent evt) {                                                 
    // TODO add your handling code here:
}                                                

private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
    this.setLocationRelativeTo(null);  // *** this will center your app ***
    //jPanel1.setVisible(true);
    //jPanel2.setVisible(false);

// TODO 在此处添加您的处理代码: }

private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
    // TODO add your handling code here:
}                                    

private void jTextFieldmthostActionPerformed(java.awt.event.ActionEvent evt) {                                                 
    // TODO add your handling code here:
}                                                

private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) {                                              
    System.exit(0); // TODO add your handling code here:
}                                             

private void jPanel2FocusGained(java.awt.event.FocusEvent evt) {                                    

    runprogram();
}                                   

private void jButtonCloseActionPerformed(java.awt.event.ActionEvent evt) {                                             
    System.exit(0);        // TODO add your handling code here:
}                                            

/**
 * @param args the command line arguments
 */
public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */
    try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new MainFrame().setVisible(true);
        }
    });
}

// Variables declaration - do not modify                     
private javax.swing.JButton jButtonCancel;
private javax.swing.JButton jButtonClose;
private javax.swing.JButton jButtonOK;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabelarhost;
private javax.swing.JLabel jLabelinfo;
private javax.swing.JLabel jLabelmthost;
private javax.swing.JLabel jLabelpmhost;
private javax.swing.JLabel jLabelvchost;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JProgressBar jProgressBar1;
private javax.swing.JTextField jTextFieldarhost;
private javax.swing.JTextField jTextFieldmthost;
private javax.swing.JTextField jTextFieldpmhost;
private javax.swing.JTextField jTextFieldvchost;
private javax.swing.JPanel mainPanel;
// End of variables declaration                   

私人无效测试(){

}

private void runprogram(){

               //Execute when button is pressed
            //System.out.println("You clicked the button");

    jProgressBar1.setValue(2);
    jLabelinfo.setText("Creating Report folder and subdirectories");
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(4);
    jLabelinfo.setText("Getting OS of remote server"); 
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(10);
    jLabelinfo.setText("Retrieving Information from Platform Manager");
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(20);
    jLabelinfo.setText("Retrieving Information from the VC/Hyper-V server");
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(30);
    jLabelinfo.setText("Retrieving Information from AR server");   
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(40);
    jLabelinfo.setText("Retrieving Information from Mid Tier server");  
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect()); 

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(50);
    jLabelinfo.setText("Analysing data from the Platform Manager");  
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(60);
    jLabelinfo.setText("Analysing data from the AR server");  
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(70);
    jLabelinfo.setText("Analysing data from the VC/Hyper-V");  
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(80);
    jLabelinfo.setText("Analysing data from the BSA server");    
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(90);
    jLabelinfo.setText("Analysing data from the Mid Tier server");  
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(95);
    jLabelinfo.setText("Comparing values with tuning guide and creating Report.xlsx");  
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());

    try{
        Thread.sleep(1000);
    }catch(InterruptedException e){

    }

    jProgressBar1.setValue(100);
    jLabelinfo.setText("Analysing data Complete. Please check the Report folder");
    jProgressBar1.paintImmediately(jProgressBar1.getVisibleRect());
    jLabelinfo.paintImmediately(jLabelinfo.getVisibleRect());


    jButtonClose.setEnabled(true); 
    jPanel2.setFocusable(false);

}

}

【问题讨论】:

  • 代码+你正在经历的截图
  • 如需尽快获得更好的帮助,请发帖minimal reproducible exampleShort, Self Contained, Correct Example
  • 当然,让我给你拿……等一下:)
  • 我现在已将这些添加到原始帖子中...
  • "..我现在添加了这些.." 我建议(再次)发布minimal reproducible example(我的意思是,而不是不可编译的代码 sn- ps)。请注意,有 2 个单独的关闭原因提到“没有 MCVE”,并且这篇文章已经获得了 5 个关闭投票中的 3 个。还有一个提示:添加@Tschallacka(或重要的@)以通知该人有新评论。

标签: java swing


【解决方案1】:

最后发现如果我在程序运行前在OK按钮代码中添加以下内容,问题就解决了:

jPanel2.paintImmediately(jPanel2.getVisibleRect());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 2015-11-08
    • 1970-01-01
    • 2012-08-02
    相关资源
    最近更新 更多