Swing 中 JTextField事件 与 鼠标事件整合

当操作文本框时,一些文本框事件,和一些对文本框的鼠标事件


//新建文本框
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);
		}
	}


  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用JTextField的getText()方法获取字符串,然后使用Integer.parseInt()方法将字符串转换为整数类型。例如: JTextField textField = new JTextField(); int num = Integer.parseInt(textField.getText()); ### 回答2: 在Java的Swing组件JTextField是一个可编辑的文本框,可以用来输入各种类型的数据,包括整数类型。要从JTextField获取整数类型的值,需要首先获取JTextField的文本内容,然后将文本内容转换为整数类型。 获取JTextField的文本内容可以通过JTextField的getText()方法来实现,例如: ``` String text = jTextField.getText(); ``` 这将返回JTextField当前的文本内容。接下来需要将文本内容转换为整数类型。转换整数类型有两种方法,一种是使用Integer类的parseInt()方法,另一种是使用Integer类的valueOf()方法。 使用parseInt()方法的示例代码如下: ``` String text = jTextField.getText(); int value = Integer.parseInt(text); ``` 这将返回JTextField的文本内容转换为整数类型的值。需要注意的是,如果JTextField的文本内容无法转换为整数类型,将会抛出NumberFormatException异常。 使用valueOf()方法的示例代码如下: ``` String text = jTextField.getText(); Integer integer = Integer.valueOf(text); int value = integer.intValue(); ``` 这将返回JTextField的文本内容转换为包装类型Integer对象,并将其转换为整数类型的值。需要注意的是,如果JTextField的文本内容无法转换为整数类型,将会抛出NumberFormatException异常。 总的来说,从JTextField获取整数类型的值可以使用parseInt()方法或valueOf()方法,需要注意文本内容的格式和异常处理。 ### 回答3: Java SwingJTextField组件可以用于获取用户输入的文本信息,但是如何从获取int类型的数据呢? 首先,我们需要了解JTextField的getText()方法,这个方法会返回一个字符串类型的值,即用户在文本框输入的内容。因此,我们需要将这个字符串类型的值转换成int类型。 可以使用Java提供的Integer.parseInt()方法,该方法可以将字符串转换为int类型的值。这个方法的使用非常简单,只需将JTextField组件的getText()方法返回的值作为参数传入即可。 如下代码所示,将JTextField组件获取到的字符串转换成int类型并赋给一个整型变量: ``` JTextField textField = new JTextField("123"); int num = Integer.parseInt(textField.getText()); ``` 需要注意的是,如果用户在文本框输入的内容不是合法的数字类型,比如输入了字母或空格等,那么调用Integer.parseInt()方法时会抛出NumberFormatException异常。因此,在进行转换前需要进行输入验证,确保输入的内容是合法的数字类型。 同时,还可以使用JFormattedTextField组件,它可以设置格式化输入内容的方式,比如只能输入数字、小数点等特定字符。这样可以有效地避免用户输入非法的内容,从而保证程序的正常运行。 总之,获取JTextField的int类型数据需要将字符串类型的值转换成int类型,同时需要进行输入验证确保输入的内容是合法的数字类型。如果需要更精确的输入控制,可以使用JFormattedTextField组件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值