java中JTextField如何强制失去焦点或者赋予焦点? 20
一个容器farme中放了一个Jlabel,然后label上面只有一个JTextField,我想让他强制失去焦点,然后再强制赋予其一个焦点,请问要怎么做?...
一个容器farme中放了一个Jlabel,然后label上面只有一个JTextField,我想让他强制失去焦点,然后再强制赋予其一个焦点,请问要怎么做?
展开
1个回答
展开全部
让JTextField文本框响应焦点事件 即可.
核心代码
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); }});效果图
参考代码
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(); } }追问
垃圾
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询