JTextField有文字,当鼠标点击时返回监JTextField中的内容,监听怎么设?最好有源代码

JTextField有文字,当鼠标点击时返回监JTextField中的内容,监听怎么设?最好有源代码,第1张

实现MouseListener鼠标监听即可

你可能是实现ActionListener事件监听,文本框中当回车时才会触发事件,才会调用actionPerformed方法

看看下面代码

import java.awt.BorderLayout

import java.awt.event.MouseEvent

import java.awt.event.MouseListener

import javax.swing.JFrame

import javax.swing.JTextField

public class T extends JFrame implements MouseListener{

JTextField jtf = new JTextField(10)

public T(){

jtf.addMouseListener(this)

add(jtf,BorderLayout.NORTH)

setSize(300,300)

setLocation(300, 200)

setVisible(true)

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

}

public static void main(String []args){

new T()

}

@Override

public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseEntered(MouseEvent e) {

}

@Override

public void mouseExited(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mousePressed(MouseEvent e) {

Object o=e.getSource()

String s=jtf.getText()

if(o.equals(jtf)&&!"".equals(s))

System.out.println(s)

}

@Override

public void mouseReleased(MouseEvent e) {

// TODO Auto-generated method stub

}

}

public class FrmTransNumber extends JFrame implements KeyListener{

public JTextField txtTransNumber

public String TransNumber

public FrmTransNumber(){

txtTransNumber = new JTextField()

this.add(txtTransNumber,BorderLayout.NORTH)

this.addKeyListener(this)

this.setSize(300,300)

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

this.setVisible(true)

}

public static void main(String[] args) {

FrmTransNumber t = new FrmTransNumber()

}

@Override

public void keyPressed(KeyEvent event) {

if (event.getKeyCode() >KeyEvent.VK_9

| event.getKeyCode() <KeyEvent.VK_0) {

switch (event.getKeyCode()) {

case KeyEvent.VK_BACK_SPACE:

{

TransNumber = TransNumber.substring(0, TransNumber.length() - 1)

FrmTransNumber.this.txtTransNumber.setText(TransNumber)

}

break

case KeyEvent.VK_ESCAPE: {

TransNumber = ""

FrmTransNumber.this.setVisible(false)

break

}

case KeyEvent.VK_ENTER: {

TransNumber = FrmTransNumber.this.txtTransNumber.getText()

FrmTransNumber.this.setVisible(false)

break

}

default: {

FrmTransNumber.this.txtTransNumber.setText(TransNumber)

TransNumber = TransNumber

}

}

} else {

FrmTransNumber.this.txtTransNumber.setText(TransNumber)

TransNumber = TransNumber+ (char) event.getKeyCode()

}

}

public void keyReleased(KeyEvent e) {

}

public void keyTyped(KeyEvent e) {

}

}

是不是想要这样的效果


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

原文地址:https://www.54852.com/bake/11797003.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存