1个回答
展开全部
让JTextField文本框响应焦点事件 即可.
核心代码
1 2 3 4 5 6 7 8 9 10 11 12 | JTextField jtf= new JTextField( 10 ); jtf.addFocusListener( new FocusListener() { public void focusLost(FocusEvent e) { //失去焦点时 System.out.println( "失去了焦点" ); jtf.setBackground(Color.WHITE); } public void focusGained(FocusEvent e) { //获得焦点时 System.out.println( "获得了焦点" ); tf.setBackground(Color.PINK); } }); |
效果图
参考代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TextFrame extends JFrame { JTextField jtf; public TextFrame() { JPanel jp = new JPanel(); jtf= new JTextField( 10 ); jtf.addFocusListener( new FocusListener() { @Override public void focusLost(FocusEvent e) { //失去焦点时 System.out.println( "失去了焦点" ); jtf.setBackground(Color.WHITE); } @Override public void focusGained(FocusEvent e) { //获得焦点时 System.out.println( "获得了焦点" ); jtf.setBackground(Color.PINK); } }); jp.add(jtf); JButton jb = new JButton( "点击按钮, 文本框会失去焦点" ); add(jb,BorderLayout.NORTH); add(jp,BorderLayout.SOUTH); setTitle( "DEMO" ); setSize( 300 , 220 ); // 窗口大小 setLocationRelativeTo( null ); // 窗口居中 setDefaultCloseOperation(EXIT_ON_CLOSE); // 窗口点击关闭时,退出程序 setVisible( true ); } public static void main(String[] args) { new TextFrame(); } } |
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询