Java工具类的运用(使JTextField绑定到Enter)

编程入门 行业动态 更新时间:2024-10-18 22:26:38

Java工具类的运用(使JTextField<a href=https://www.elefans.com/category/jswz/34/1769902.html style=绑定到Enter)"/>

Java工具类的运用(使JTextField绑定到Enter)

    最近在写校园导航项目的时候遇到一个小问题,怎么将Enter按钮绑定到一个容器上去,在经过八方查找以后,确实找到了最简单的实现方案,只需要加上一句话,即可使一个按钮绑定到Enter键,即在按下Enter时直接触发一个按钮事件,先来看看代码:

JFrame.getRootPane().setDefaultButton(JButton);

    其中JFrame是顶级容器,JButton则是需要绑定的按钮.但是这样的绑定方式却显得不够灵活,在经过又一番漫长的学习过程后,我学会了一点点工具类的应用,工具类,顾名思义,就是指工具,在这个类中,存在这许多的静态方法,这代表这你可以不需要新增一个这个类的对象,直接调用方法即可打到使用工具类的目的,这次写的工具类是将Enter键绑定到JTextField与JButton中,当这两个容器获得焦点,并按下回车时,可以直接触发用工具类注入的事件.先看看代码

package componet;import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;public class SwingUtils {//为JButton添加回车事件public static void enterPressesWhenFocused(JButton button) {button.registerKeyboardAction(button.getActionForKeyStroke(KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0, false)),KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false),JComponent.WHEN_FOCUSED);button.registerKeyboardAction(button.getActionForKeyStroke(KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0, true)),KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, true),JComponent.WHEN_FOCUSED);}//为JTextField添加回车事件public static void enterPressesWhenFocused(JTextField textField, ActionListener actionListener) {textField.registerKeyboardAction(actionListener,KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false),JComponent.WHEN_FOCUSED);textField.registerKeyboardAction(actionListener,KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, true),JComponent.WHEN_FOCUSED);}
}

使用基本方法就是调用SwingUtils.enterPressesWhenFocused();

方法的参数可以是一个Button,也可以是TextField,但不同的是加入Button不需要写事件,而加入的事TextField则需要写一个点击事件,从而达到按下回车触发这个事件.

这次工具类的使用也越发使我了解到了JAVA这门语言的深奥之处,同时也使我离对象进了一步!

更多推荐

Java工具类的运用(使JTextField绑定到Enter)

本文发布于:2023-07-28 17:54:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1268381.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:绑定   工具   Java   Enter   JTextField

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!