title: How to update jLabel or setText from another class in java?
body: <p>I am trying to create one <code>JFrame</code> where the <code>jLabel</code> and button are located and another class where I have created a method <code>putTextNow</code> that will set the text to the <code>jLabel</code>. I have read that it should be done using multithreading which is more complicated in my part. Here are my codes:</p>
  
  <p>NewJFrame.java</p>
  
  <pre><code>private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
      NewClass nc = new NewClass();
      nc.putTextNow();
  }
  </code></pre>
  
  <p>NewClass.java</p>
  
  <pre><code>package test1;
  
  public class NewClass {
      public void putTextNow () {
          NewJFrame nf = new NewJFrame();
          nf.jLabel1.setText("OK!");
      }
  }
  </code></pre>
  
  <p>When I press the button, it's not working. It's not changing the Label. I'm using netbeans 8.0. Here are my full codes</p>
  
  <p>//NewJFrame.java</p>
  
  <p>package test1;</p>
  
  <p>public class NewJFrame extends javax.swing.JFrame {</p>
  
  <pre><code>public NewJFrame() {
      initComponents();
  }
  
  @SuppressWarnings("unchecked")
  // &lt;editor-fold defaultstate="collapsed" desc="Generated Code"&gt;                          
  private void initComponents() {
  
      jLabel1 = new javax.swing.JLabel();
      jButton1 = new javax.swing.JButton();
  
      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  
      jLabel1.setText("jLabel1");
  
      jButton1.setText("jButton1");
      jButton1.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(java.awt.event.ActionEvent evt) {
              jButton1ActionPerformed(evt);
          }
      });
  
      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
          layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(layout.createSequentialGroup()
              .addGap(114, 114, 114)
              .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                  .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
                  .addGroup(layout.createSequentialGroup()
                      .addGap(23, 23, 23)
                      .addComponent(jButton1)))
              .addContainerGap(179, Short.MAX_VALUE))
      );
      layout.setVerticalGroup(
          layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(layout.createSequentialGroup()
              .addGap(96, 96, 96)
              .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
              .addGap(43, 43, 43)
              .addComponent(jButton1)
              .addContainerGap(65, Short.MAX_VALUE))
      );
  
      pack();
  }// &lt;/editor-fold&gt;                        
  
  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
      NewClass nc = new NewClass();
      nc.putTextNow();
  }                                        
  
  public static void main(String args[]) {
      /* Set the Nimbus look and feel */
      //&lt;editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "&gt;
      /* 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(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      } catch (InstantiationException ex) {
          java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      } catch (IllegalAccessException ex) {
          java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      } catch (javax.swing.UnsupportedLookAndFeelException ex) {
          java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      }
      //&lt;/editor-fold&gt;
  
      /* Create and display the form */
      java.awt.EventQueue.invokeLater(new Runnable() {
          public void run() {
              new NewJFrame().setVisible(true);
          }
      });
  }
  
  // Variables declaration - do not modify                     
  public javax.swing.JButton jButton1;
  public javax.swing.JLabel jLabel1;
  // End of variables declaration                   
  </code></pre>
  
  <p>}</p>
  
  <p>//NewClass.java</p>
  
  <pre><code>    package test1;
  </code></pre>
  
  <p>public class NewClass {
      public void putTextNow ()
      {<br>
          NewJFrame nf = new NewJFrame();
          nf.jLabel1.setText("ok");
      }
  }</p>