java设置监视器的问题

java设置监视器的问题,第1张

我个人觉得java.awt.event.ActionListener是真的鼠标点击或者键盘按下的事件,当然java.awt.TextField也可以设置这个监听器,但是监听器截获不到鼠标在java.awt.TextField上面的点击动作,所以触发不了相应的事件,用e.getSource()也得不到f3。

但是如果在java.awt.TextField监听其他事件就可以,如下例子:

f3.addMouseMotionListener(new MouseMotionListener() {

@Override

public void mouseMoved(MouseEvent e) {

// TODO Auto-generated method stub

f3.setText("eeeeeeeeeee")

}

@Override

public void mouseDragged(MouseEvent e) {

// TODO Auto-generated method stub

f3.setText("11111111111111")

}

})

在你的代码里加入如上语句,当你的鼠标在java.awt.TextField中移动时会显示"eeeeeeeeeee",鼠标拖动时会显示"11111111111111"

package com.ie

import java.awt.event.FocusEvent

import java.awt.event.FocusListener

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JTextField

public class Test1 {

public static void main(String args[]){

Test1 t = new Test1()

t.practice()

}

public void practice(){

JFrame jf = new JFrame("监听器")

jf.setLayout(null)//关闭布局管理器

jf.setBounds(100, 100, 400, 400)//指定程序窗口的初始位置及大小

JTextField jtf = new JTextField("单行文本输入框")

jf.add(jtf)

jtf.setBounds(10, 10, 100, 20)//指定单行文本输入框在窗口中位置及大小

jtf.addFocusListener(new FocusListenerImpl())

JButton b = new JButton("确定")

jf.add(b)

b.setBounds(10, 40, 100, 20)

jf.setVisible(true)

}

class FocusListenerImpl implements FocusListener{

@Override

public void focusGained(FocusEvent e) {

System.out.println("获得焦点")

}

@Override

public void focusLost(FocusEvent e) {

System.out.println("失去焦点")

}

}

}

JTextFiled获得焦点简单来说就是选中时有输入光标闪动,失去焦点就是输入光标消失,

失焦获焦的用输出语句简单写的,看控制台。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11793646.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存