当操作文本框时,一些文本框事件,和一些对文本框的鼠标事件
//新建文本框
JTextField text = new JTextField(10);
//(1)创建文本框触发事件
text.getDocument().addDocumentListener(new TextHandle());
/**
* 文本框触发事件
* @author wangjian
*
*/
public class TextHandle implements DocumentListener {
//这是更改操作的处理
public void changedUpdate(DocumentEvent e) {
String aaa =p1_bipolarText.getText().trim();//trim()方法用于去掉你可能误输入的空格号
System.out.println("1->"+aaa);
}
//这是插入操作的处理
public void insertUpdate(DocumentEvent e) {
String aaa = p1_bipolarText.getText().trim();
System.out.println("2->"+aaa);
}
//这是删除操作的处理
public void removeUpdate(DocumentEvent e) {
String aaa = p1_bipolarText.getText().trim();
System.out.println("3->"+aaa);
}
}
//(2)监听鼠标是否进入或退出文本框,监听鼠标左键右键事件
p1_bipolarText.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {// 鼠标松开
System.out.println("鼠标松开");
}
@Override
public void mousePressed(MouseEvent e) {// 鼠标按下
System.out.println("鼠标按下");
}
@Override
public void mouseExited(MouseEvent e) {// 鼠标退出组件
System.out.println("鼠标退出组件");
}
@Override
public void mouseEntered(MouseEvent e) {// 鼠标进入组件
System.out.println("鼠标进入组件");
}
@Override
public void mouseClicked(MouseEvent e) {// 鼠标单击事件
int c = e.getButton();// 得到按下的鼠标键
String mouseInfo = null;// 接收信息
if (c == MouseEvent.BUTTON1)// 判断是鼠标左键按下
{
mouseInfo = "左键";
} else if (c == MouseEvent.BUTTON3) {// 判断是鼠标右键按下
mouseInfo = "右键";
} else {
mouseInfo = "滚轴";
}
System.out.println("鼠标单击事件");
}
});
//(3)监听鼠标焦点事件,失去获得焦点事件
p1_bipolarText.addFocusListener(new TextFocusHandle());
/**
* 文本框焦点失去、获取事件
* @author wangjian
*
*/
public class TextFocusHandle implements FocusListener {
public void focusGained(FocusEvent e) {//获得焦点
}
public void focusLost(FocusEvent e) {//失去焦点
JTextField source = (JTextField) e.getSource();
String text = source.getText();
System.out.println("***************************************"+text);
}
}
//(4)监听键盘按键事件
p1_bipolarText.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
// 仅支持输入数字且最多输入16位
if (e.getKeyChar() < '0' || e.getKeyChar() > '9' || e.getKeyCode() == 8 || hykh.getText().length() > 15) {
e.consume();
}
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyChar() == KeyEvent.VK_ENTER) {
czBtn.doClick();
}
}
@Override
public void keyReleased(KeyEvent e) {
// 仅支持输入数字且最多输入16位
if (hykh.getText().indexOf(".") > 0 && hykh.getText().length() - hykh.getText().indexOf(".") > 2) {
hykh.setText(hykh.getText().substring(0, hykh.getText().indexOf(".") + 3));
}
}
});
JavaSwing中JTextField的监听事件
最新推荐文章于 2024-06-18 14:27:56 发布