我正在尝试通过使用类JTextField
将FocusLisner
的promt文本设置为JTextField
,但是不幸的是,我遇到了问题。仅在按下import java.awt.FlowLayout;
import java.awt.HeadlessException;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
/**
*
*/
public class PromptText extends JFrame
{
private JTextField jTextField;
public static void main( String[] args )
{
new PromptText( );
}
public PromptText( ) throws HeadlessException
{
super( );
jTextField = new JTextField( 15);
addPromptToJTextField( );
add( jTextField );
add(new JButton( "Button"));
setLayout( new FlowLayout( ) );
setSize( 250, 250 );
setVisible( true );
}
private void addPromptToJTextField( )
{
jTextField.addFocusListener( ( new FocusListener( )
{
String promptText = "You must write the path...";
@Override
public void focusLost( FocusEvent e )
{
// TODO Auto-generated method stub
if( jTextField.getText( ).isEmpty( ) )
{
jTextField.setText( promptText );
}
}
@Override
public void focusGained( FocusEvent e )
{
// TODO Auto-generated method stub
if( jTextField.getText( ).equals( promptText ) )
{
jTextField.setText( "" );
}
}
} ) );
}
}
之后,才会显示提示文字。
我希望在运行程序时默认显示提示。
这是我的代码:
GROUP BY