-
2019-07-19 15:09:32
JTextArea textArea = new JTextArea(); textArea.addKeyListener(new KeyAdapter() { @Override public void keyTyped(KeyEvent e) { if((char)e.getKeyChar()==KeyEvent.VK_ENTER) { System.out.println("ENTER"); } } });
更多相关内容 -
java学习:给登入界面添加键盘监听,按回车键登入
2021-03-06 04:09:31折腾了很久,终于把登入界面的键盘监听加上了,内容很简单。其实想到的话也挺简单的,毕竟可以从鼠标监听事件推测过来。假设我们是如下的登入界面:我们需要对文本框进行监听,而不是对整个JFrame对象进行监听,所以...折腾了很久,终于把登入界面的键盘监听加上了,内容很简单。其实想到的话也挺简单的,毕竟可以从鼠标监听事件推测过来。
假设我们是如下的登入界面:
我们需要对文本框进行监听,而不是对整个JFrame对象进行监听,所以代码是这样的(其他部分代码可以看看我以前的博客http://blog..net/thehide/article/details/49537925):
KeyListener key_Listener = new KeyListener()
{
public void keyTyped(KeyEvent e) {}
public void keyReleased(KeyEvent e){}
public void keyPressed(KeyEvent e){
if(e.getKeyChar() == KeyEvent.VK_ENTER )
{
//可以写你的登入程序了
}
}
};
JTextField f1 = new JTextField(18);
JPasswordField f2 = new JPasswordField(18);
f1.addKeyListener(key_Listener);
f2.addKeyListener(key_Listener);
按回车就可以实现登入了。
下面还有就是那种QQ消息,按 ctrl+回车 进行发送怎么写呢?很简单,看下面的语句吧,很快就可以类推出
KeyListener key_Listener = new KeyListener()
{
public void keyTyped(KeyEvent e) {}
public void keyReleased(KeyEvent e){}
public void keyPressed(KeyEvent e){
if(e.getKeyChar() == KeyEvent.VK_ENTER && e.isControlDown() )
{
//可以写你的登入程序了
}
}
};
-
JSP中用回车监听按钮事件兼容火狐 IE等主流浏览器
2021-01-20 14:17:59您可能感兴趣的文章:利用java监听器实现在线人数统计浅析JAVA中过滤器、监听器、拦截器的区别Java添加事件监听的四种方法代码实例java实现监听u盘示例分享java开发gui教程之jframe监听窗体大小变化事件和jframe创建... -
java事件监听
2021-12-26 15:41:47Java中java.swt.event包包含了不同事件的类和接口,每个事件类一般有对应于一个事件监听器接口 文章目录前言一、事件监听器监听器的注册事件处理的具体步骤动作事件ActionEvent二、适配器类使用内部类来进行监听...Java中java.swt.event包包含了不同事件的类和接口,每个事件类一般有对应于一个事件监听器接口
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、事件监听器
事件监听器是某个类的对象,我们将这个类称为监听器类
监听器必须要由监听和处理XXXEvent事件的能力,他所在的类必须要实现XXXListener接口
监听器的注册
所有组件都从Conponent类中继承了将事件处理授权给监听器的方法,又称为注册
component.addXXXListener(Listener);
取消注册
component.removeXXXListener(Listener);
事件处理的具体步骤
动作事件ActionEvent
动作事件是最常见的一类事件,当鼠标单击按钮,复选框,单选按钮或者菜单和文本框中输入回车时都会出发ActionEvent事件
负责处理ActionEvent事件的监听器必须实现ActionLister接口,实现接口里面的方法actionPerformed()的方法,事件处理代码就在这个方法里面
举例
package action; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class action_demo implements ActionListener { JFrame frame; JButton button; public action_demo() { // TODO Auto-generated constructor stub frame = new JFrame("动作事件"); button = new JButton("确定"); button.addActionListener(this); frame.add(button); frame.setSize(240,100); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub frame.setTitle("单击了确定按钮"); } public static void main(String[] args) { new action_demo(); } }
ActionEvent事件常用的方法
getActionCommand() 返回与此动作相关的字符串
eg. 当点击“确定” 按钮,返回时字符串“确定”
getSource()返回事件源
eg. 当点击“确定”按钮时,返回按钮对象名buttonpackage action; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class action_demo implements ActionListener { JFrame frame; JPanel panel; JButton button1,button2; public action_demo() { // TODO Auto-generated constructor stub frame = new JFrame("动作事件"); button1 = new JButton("确定"); button1.addActionListener(this); button2 = new JButton("取消"); button2.addActionListener(this); panel = new JPanel(); panel.add(button1); panel.add(button2); frame.add(panel); frame.setSize(240,100); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(e.getSource() == button1) frame.setTitle("单击了确定按钮"); else { frame.setTitle("单击了取消按钮"); } } public static void main(String[] args) { new action_demo(); } }
二、适配器类
当在某个类中实现了事件监听接口,则要实现其左右方法,为了避免这种情况,则有适配器,使用方法直接在类的后面加上 extends XXXAdapter
使用内部类来进行监听
代码如下(示例):
package action; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class action_demo{ JFrame frame; JPanel panel; JButton button1,button2; public action_demo() { // TODO Auto-generated constructor stub frame = new JFrame("动作事件"); button1 = new JButton("确定"); button1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub frame.setTitle("单击了确定按钮"); } }); button2 = new JButton("取消"); button2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub frame.setTitle("单击了取消按钮"); } }); panel = new JPanel(); panel.add(button1); panel.add(button2); frame.add(panel); frame.setSize(240,100); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } // @Override // public void actionPerformed(ActionEvent e) { // // TODO Auto-generated method stub // if(e.getSource() == button1) // frame.setTitle("单击了确定按钮"); // else { // frame.setTitle("单击了取消按钮"); // } // } public static void main(String[] args) { new action_demo(); } }
鼠标事件
相关方法
-
JAVA文本框监听
2021-03-10 06:45:32展开全部importjavax.swing.*;importjavax.swing.event.*;importjavax.swing.text.*;importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjava.util.regex.*;finalclassTextValidateDemoextends...展开全部
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.util.regex.*;
final class TextValidateDemo extends JFrame {
final static private Dimension SIZE = new Dimension(800, 600);
public String getTitle() {return "TextValidateDemo";}
public Dimension getPreferredSize() {return SIZE;}
public Dimension getMinimumSize() {return SIZE;}
public Dimension getMaximumSize() {return SIZE;}
public Dimension getSize() {return SIZE;}
private JTextField textField;
private final static Pattern pattern = Pattern.compile("([0-9])*");
private static final Observable validateObservable = new Observable(){
public void notifyObservers() {
setChanged();
super.notifyObservers();
}
public void notifyObservers(Object arg) {
setChanged();
super.notifyObservers(arg);
}
};
TextValidateDemo() throws HeadlessException {
init();
attachListeners();
doLay();
setVisible(true);
}
private void init() {
textField=new JTextField(50);
validateObservable.addObserver( new TextValidateObserer(textField) );
}
private void attachListeners() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(1);
}
});
textField.getDocument().addDocumentListener(new DocumentListener() {
public void insertUpdate(DocumentEvent e) {
validateObservable.notifyObservers(null);
}
public void removeUpdate(DocumentEvent e) {
validateObservable.notifyObservers(null);
}
public void changedUpdate(DocumentEvent e) {
validateObservable.notifyObservers(null);
}
});
}
private void doLay() {
Container container = getContentPane();
container.add(textField, BorderLayout.NORTH);
pack();
}
private static boolean validateInput(String s){
return pattern.matcher(s).matches();
}
private class TextValidateObserer implements Observer{
private JTextComponent t;
public TextValidateObserer(JTextComponent t) {
this.t=t;
}
public void update(Observable o, Object arg) {
if (t!e68a8462616964757a686964616f31333337383934=null && arg == null) {
t.setForeground(validateInput(t.getText()) ?
Color.BLACK : Color.RED
);
}
}
}
public static void main(String... args) {
System.setProperty("swing.defaultlaf", "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.invokeLater(TextValidateDemo::new);
}
}
-
java GUI编程之监听操作实例分析
2021-02-27 12:33:06本文实例讲述了java GUI编程之监听操作。分享给大家供大家参考,具体如下:当点击Frame中的component组件时,会产生相应的效果,但是相应的其必须进行监听,确定是那个对象,那种操作,但是如果用cup进行主动的监听... -
Java 换行和回车
2021-03-09 08:33:43//这样写程序不够灵活//当我们在java控制台输出的时候,/r和/n都能达到换行的效果。 if (System.getProperty("line.separator").equals("/r/n")) { System.out.println("//r//n is for windows"); }else if (System.... -
Java按钮监听器ActionListener 事件监听教程.
2020-04-18 15:52:11一、创建监听器 1. 创建一个普通的Frame和然后添加一个按钮,参考教程 2.自制一个MyActionListener 的监听类 2.1 MyActionListener 需要实现implements接口ActionListener public class MyActionListener implements ... -
检测java中的回车键
2021-07-16 20:03:52I have tried to get user input with scanner and if user press enter then proceed to next input statement. but it print all at once.public class MainRDS{public static void main(String[] args){Scanner i... -
fildder监听java请求
2021-03-14 15:03:11fildder默认是无法监听java发出的请求的,要监听需要添加一些配置,以idea为例写一下设置的过程:1. 导出fiddler证书fiddler->tools->telerik fildder options->https点击Actions->Export Root ... -
Java 输入框事件监听教程.
2020-04-18 17:34:441.创建一个新的Frame,这里使用新建类 My输入框事件监听Frame 实现,(记得继承Frame) 如何新建一个Frame 类教程点击跳转 2.新建一个 TextField 文本域并添加至 1步骤新建的窗口 TextField textField = new ... -
Java中的事件监听机制
2021-03-06 16:42:45在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象。Java中根据事件的动作来区分不同的事件源对象,动作发生在哪个组件上,那么该组件就是事件源对象2.事件监听方法:addMouseListener(MouseListener... -
JAVA GUI 事件监听事件 详解 和 案例.
2021-03-22 14:41:47GUI(图形用户界面)Graphical User Interface(图形用户接口)用图形的 方式, 来显示 计算机操作的 界面, ...需要记忆一些常用的命令, 操作不直观.Java 为 GUI 提供的 对象 都存在 java.awt 和 javax.swing 两个包中... -
简单了解Java接口+事件监听机制
2021-03-06 19:15:33事件监听方法: addActionListener 用来捕捉类似输入框组件对象上的键盘回车动作; 用来捕捉类似按钮组件对象上的鼠标点击动作; addMouseListener 用来捕获事件源对象上的鼠标进入、离开、按下、释放以及点击。 ... -
详谈Java中的事件监听机制
2021-02-26 08:32:15在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象。Java中根据事件的动作来区分不同的事件源对象,动作发生在哪个组件上,那么该组件就是事件源对象2.事件监听方法:addMouseListener(MouseListener... -
理解java中接口与事件监听器
2021-03-06 05:18:12而在java中接口作用类似,定义一个具有特定特点的接口,在合适的地方引用它,执行所对应的功能,这样能够实现代码的分离。下面我们来看一下接口的定义:关键字:interface格式:public interface 接口名{ ... -
java中接口和事件监听器的深入理解
2021-02-12 18:56:47而在java中接口作用类似,定义一个具有特定特点的接口,在合适的地方引用它,执行所对应的功能,这样能够实现代码的分离。下面我们来看一下接口的定义:关键字:interface格式:public interface 接口名{}接... -
Android基础篇 监听软键盘回车事件以及回车响应两次
2021-06-09 10:30:48} //返回false以上的操作会执行两次,因为onEditorAction方法接受了false会表示尚未执行 //修改 return true,则回车之响应一次 return false; } }); android edittext 点击回车会响应两次? 由于Key有Down和Up事件... -
Java——GUI——输入框事件监听
2021-11-27 16:57:02代码演示 package Gui; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ...public class TestText... Frame frame = new Frame("输入框监听"); TextField textfield = -
Java Swing JTextArea文本区域的实现示例
2021-02-27 22:32:53// 添加焦点事件监听器 void addFocusListener(FocusListener listener) // 添加文本框内的 文本改变 监听器 textField.getDocument().addDocumentListener(DocumentListener listener) // 添加按键监听器 void ... -
java 如何 按回车 光标换到下个输入框
2021-03-03 12:11:51监听后聚焦到下一个输入框,就e68a84e8a2ad3231313335323631343130323136353331333264663762完成了切换最大字符数后切换,即监听Text长度在聚焦切换特别写了个回车互相切换的applet例子,importjava.awt.event....