java中JTextField如何强制失去焦点或者赋予焦点? 20

一个容器farme中放了一个Jlabel,然后label上面只有一个JTextField,我想让他强制失去焦点,然后再强制赋予其一个焦点,请问要怎么做?... 一个容器farme中放了一个Jlabel,然后label上面只有一个JTextField,我想让他强制失去焦点,然后再强制赋予其一个焦点,请问要怎么做? 展开
 我来答
知道合伙团队
2018-04-24 · 超过19用户采纳过TA的回答
知道答主
回答量:50
采纳率:80%
帮助的人:2.9万
展开全部

让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();    } }
追问
垃圾
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式