you have to call getDocument() on the JTextField, then call addDocumentListener()
ex.
Code
JFrame frame = new JFrame( );
frame.setLayout( new FlowLayout( ) );
final JButton button = new JButton( "Test" );
button.setEnabled( false );
frame.add( button, BorderLayout.EAST );
final JTextField textField = new JTextField( 20 );
textField.getDocument( ).addDocumentListener( new DocumentListener( ) {
@Override
public void changedUpdate( DocumentEvent e ) {
}
@Override
public void removeUpdate( DocumentEvent e ) {
if ( textField.getText( ).length( ) == 0 ) {
button.setEnabled( false );
}
}
@Override
public void insertUpdate( DocumentEvent e ) {
button.setEnabled( true );
}
} );