
你可能是实现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) {
}
}
是不是想要这样的效果
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)