Hay muchas formas, desde la más rápida y posiblemente menos elegante, a la más elegante pero que requiere algo más de código.
La más rápida consiste en hacer una clase que herede de ActionListener, que vea al TextField y al Label (por ejemplo, que los reciba en el constructor) y añadir dicha clase al botón, de forma que al pulsarlo lea el texto del TextField y lo ponga en el label.
Esta forma es poco elegante porque te obligará a hacer públicos el textfield, el label y el botón.
Si lo hacemos más elegante, debes hacer que el panel que contiene el botón tenga un método que admita ActionListeners y que se los pase al botón. Debe tener también un método dameTexto() que devuelve el texto del TextField. El panel del label debe tener un método tomaTexto() que se lo ponga al label.
De esta forma, desde el mismo sitio que se instancien ambos paneles, puedes hacer un ActionListener que reciba los paneles y añadirselo al primero.
Esta segunda forma es más elegante porque "ocultas" el textfield, el botón y el label, que pueden ser protegidos o privados en su clase panel.
Se bueno.