问题:

 

      在程序设计的时候,总会遇到这样的问题

      需要在JTextField文本框框中添加回车响应

      即:键盘按下回车键,等同于鼠标单击按下一个Button按钮,并进行事件操作

 

代码:

JFrame frame = new JFrame();
frame.getRootPane().setDefaultButton(button);
    //button 是回车键需要响应的那个按钮事件
    //button已经添加了时间才会有响应
    //效果等同于按下回车键==点击了button按钮

后记:

      这个方法对于登陆窗口来说,挺实用的

      如果针对主窗体设计来说,就感觉有点捉襟见肘了,因为主窗体很可能会分开很多的类来描述编写,也可能会有面板的切换,在主窗体初始的时候,这个方法是可行的,可是切换了面板之后,就会发现会失去对Enter回车键的响应了,我还未找到原因

            PS:一点小想法,大牛勿打击

      网上也很多人说试过了添加KeyListener的方法,可是行不通,我也正在尝试使用,发现按下Enter回车键之后,JTextField的getText()方法返回的是空字符串,应该是默认回车清空了JTextField中的内容的,继续尝试ing

解决方法(已解决):

text.addKeyListener(new KeyListener() {
	public void keyPressed(KeyEvent e) {
		if (e.getKeyCode() == KeyEvent.VK_ENTER) {
			value = text.getText();
			// System.out.println("Enter " + value);
			FindAction.getAction(value);
			// JTextField text;String value;都在之前定义好了
			// FindAction.getAction()方法,其中FindAction实现的ActionListener接口
			// getAction()方法是从actionPerformed(ActionEvent e)中抽象出来的
		}
		// System.out.println("Text " + value);
	}
	public void keyReleased(KeyEvent e) {
	}
	public void keyTyped(KeyEvent e) {
	}
});