Hola,
 
Básicamente es que siempre tengas la referencia al formulario y los objetos,
Es decir, cuando creas el formulario guardas la referencia en una variable,    
Código Java:
Ver originalpublic JFrame2 frame;
...
    frame = new JFrame2();
    frame.setVisible(true);
  
Por lógica esa variable debe ser declarada en algún lugar donde sea visible por el botón, y cuando creas el botón agregas en NetBeans (usando el botón derecho del mouse y buscas Events->Action en el menú contextual) el evento que NetBeans genera automáticamente,    
Código Java:
Ver original            public void actionPerformed
(java.
awt.
event.
ActionEvent evt
) {                 jButton1ActionPerformed(evt);
            }
        });
  
Y te coloca el cursor en el espacio para escribir el código para manejar del evento,    
Código Java:
Ver originalprivate void jButton1ActionPerformed
(java.
awt.
event.
ActionEvent evt
) {         frame.getjLabel1().setText(jLabel1.getText());
    }
  
En este caso {frame.getjLabel1()} es un método getter que te tiene que devolver el JLabel del formulario2, que tienes que crear con NetBeans manualmente o usando Refactor->Encapsulate Fields, 
Saludos,