java菜鸟 求指教

importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassFocusEventTest... import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class FocusEventTest extends JFrame{

/**
*
*/
private static final long serialVersionUID = 1L;
public FocusEventTest() {
setSize(250,100);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Container cp=getContentPane();
getContentPane().setLayout(new FlowLayout());

final JLabel label = new JLabel();
getContentPane().add(label);
JTextField jt=new JTextField("请单击其他文本框",10);
JTextField jt2=new JTextField("请单击我",10);
cp.add(jt);
cp.add(jt2);
jt.addFocusListener(new FocusListener(){
//组件失去焦点时调用的方法
public void focusLost(FocusEvent arg0) {
JOptionPane.showMessageDialog(null, "文本框失去焦点");
}
//组件获取键盘焦点时调用的方法
public void focusGained(FocusEvent arg0) {
}
});
setVisible(true);
}
public static void main(String[] args) {
new FocusEventTest();
}

}
jt.addFocusListener(new FocusListener() 为什么是点击我 才弹出对话,不是jt? 如何做到点点击别的文本框也弹出一个框框,什么叫失去焦点!
展开
 我来答
kangkai
2013-07-25 · 超过19用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:39.2万
展开全部
失去焦点的监听行哗咐时间,当组件失去焦点的时候才会触发,而当获得焦点的时候是不会触发的,所谓获得焦点与失去焦点就是当你鼠标点击选中这个组件的时候,这个组件就获得了焦点,当你选中别的组件的时候,此时这个档纯组件就会失去焦点。可以理解为你由选中状态变为非选中状态芦并就为失去焦点。这也就解释清楚了 ,为什么你由jt1变为选中jt2的时候才触发这个事件。此时jt1失去焦点
qi_ling2005
2013-07-25 · TA获得超过500个赞
知道小有建树答主
回答量:468
采纳率:0%
帮助的人:275万
展开全部

这个是事件,jt 不是你JTextField jt=new JTextField("请单击其他文本框",10);
这句定义的吗?要点其它也弹出,那你要其它的文本框也加上卜并这个事件:

jt2.addFocusListener(new FocusListener(){
//组件失去焦点时调用的方法 
public void focusLost(FocusEvent arg0) {
JOptionPane.showMessageDialog(null, "文本框失去焦点"滚弊梁);
}
public void focusGained(FocusEvent arg0) {
}
});

失去焦点:指鼠标不在他大运上面了

追问
什么意思没懂, 我也写过你这个,那就是会弹出两个对话框啊, 我的意思是为什么jt不会弹出来
jt.addFocusListener(new FocusListener() 这句怎么解释?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式