键盘按下释放java代码 java监听键盘按键

java程序设计用代码怎样编写一个“键盘事件”?

创建一个关于键盘事件的程序。该程序实现了当用户按下键盘时,程序中的一个面板中将显示用户的键盘输入。为了实现对键盘事件进行处理,容器类必须实现接口KeyListener.该接口定义了3个方法KeyPressed(KeyEvebt e)、KeyReleased(Key-Event e)、KeyTyped(KeyEvent e)。其中,当按下一个键时,调用KeyTyped方法;释放一个键时,调用KeyReleased方法;如果一个字符键被按下,那么会调用KeyTyped方法。因此,当按下一个键时,通常会产生两到三个事件。实验KeyType方法,以显示用户输入的字符。 (1)创建一个名为KeyEventDemo的java文件。 (2)在该文件中创建KeyEventDemo类,该类继承了JFrame,并实现KeyListener接口。 (3)在KeyEventDemo类中实现在KeyPressed、KeyReleased和KeyType方法。 (4)在KeyEventDemo类中添加String类型变量。该变量用于保存用户输入的字符。 (5)在KeyType方法中调用KeyEvent的getKeyChar()方法,获取用户输入的字符,并保存到String类型变量中。最后调用repaint方法更新显示用户输入的字符串。 (6)为KeyEventDemo类添加paint方法,此方法负责显示用户输入的字符。 (7)用户也可以在KeyPressed和KeyReleased方法中间调用getKeyCode方法,以获取特殊的按键。比如方向键和退格键。

成都创新互联是一家专注于网站设计制作、成都网站建设与策划设计,勃利网站建设哪家好?成都创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:勃利等地区。勃利做网站价格咨询:18982081108

求一个java小程序实现键盘按键移动,急急!!

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class Test extends JFrame implements KeyListener {

private static final long serialVersionUID = 1L;

private JLabel jl = new JLabel("java程序设计");

private static final int STEP = 10;//设置移动的幅度

public static void main(String[] args) {

new Test().launchFrame();

}

public void launchFrame() {

this.add(jl);

this.addKeyListener(this);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setBounds(300,200,600,400);

this.setVisible(true);

}

public void keyPressed(KeyEvent e) {//按一个键,可以连续按

key(e);

}

public void keyReleased(KeyEvent e) {//按下放开一个键

}

public void keyTyped(KeyEvent e) {//击一下键

}

public void key(KeyEvent e) {//可以将这个函数添加到上面的三个方法里

switch(e.getKeyCode()) {

case KeyEvent.VK_LEFT ://左箭头

jl.setLocation(jl.getLocation().x - STEP, jl.getLocation().y);

break;

case KeyEvent.VK_RIGHT ://右箭头

jl.setLocation(jl.getLocation().x + STEP, jl.getLocation().y);

break;

case KeyEvent.VK_UP ://上箭头

jl.setLocation(jl.getLocation().x, jl.getLocation().y - STEP);

break;

case KeyEvent.VK_DOWN ://下箭头

jl.setLocation(jl.getLocation().x, jl.getLocation().y + STEP);

break;

}

}

}

另外提醒一下楼上的,应该给JFrame添加KeyListener

Java给按钮添加事件

赞一个, 提前学习, 做好预先 , 是个好习惯.

java图形界面主要有AWT, SWING, SWT, JavaFx等技术

JButton  (按钮)是SWING里面很常用的组件. 直接添加按钮到窗口,并不会产生任何交互效果.

要想产生交互效果,就需要了解awt,swing的事件处理机制:

事件:用户对组件的一个操作,称之为一个事件;

事件源:发生事件的组件就是事件源;

事件处理器:负责处理事件的方法;

比如 点击按钮,弹出HelloWord,

那么 事件是 点击按钮 ,事件源就是按钮,事件处理器就会弹出对话框,显示HelloWord.

常用的事件(Event) 有:

鼠标事件(MouseEvent: 鼠标按下,移入,移除,滚轮..)

键盘事件(KeyEvent: 键盘按下,释放..)

动作事件( ActionEvent:当按钮、菜单项被点击,在JTextField中按Enter键时...触发该事件。)

按钮添加接收器, 不同的事件,接收器不同.

比如ActionEvent 那么他的接收器是ActionListener

KeyEvent 那么他的接收器就是KeyListener

基础知识,大概就是这些.

所以想要JButton产生交互,你就需要给他添加事件处理器,当发生这些事件时,出发该处理器,进行处理.

写2个例子,第一个简单的:点击按钮,弹出Hello World

//导入3个图形界面,常用的包

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ButtonDemo extends JFrame {

public ButtonDemo() {

JButton jbHello = new JButton("Hello");//按钮

jbHello.addActionListener(new ActionListener() {//给按钮添加事件接收器

@Override

public void actionPerformed(ActionEvent e) {//接受到事件后,进行下面的处理

System.out.println("Hello World");// 控制台打印输出

JOptionPane.showMessageDialog(null, "Hello World");// 弹出对话框,显示Hello World

}

});

add(jbHello);//把按钮添加到窗体

// 窗体属性的设置

setLayout(new FlowLayout());// 窗体流式布局, 按添加顺序从左到右排列组件

setSize(300, 200);// 宽300像素,高200

setLocationRelativeTo(null);// 窗体放在显示器中间

setTitle("HelloWord");// 窗体的标题

setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击窗体右上角的关闭按钮时,结束程序

setVisible(true);// 窗体可见

}

public static void main(String[] args) {

new ButtonDemo();

}

}

看明白了吧, addActionListener是关键

进阶版 :加法计算器.  代码稍微长一点,.但注释很多

参考代码如下

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

//AddFrame继承自JFrame类, 并且实现了ActionListener 接口

public class AddFrame extends JFrame implements ActionListener {

// 组件

JTextField jtf1, jtf2, jtf3;// 文本框,用于:显示数字

JButton jbAdd;// 按钮,用于:当点击按钮时,计算出加法的结果

JButton jbClear;// 按钮, 用于,清空数字

public AddFrame() {// 构造方法

// 初始化组件

jtf1 = new JTextField(5);// 长度为5的文本框

JLabel jl = new JLabel("+");//文字标签

jtf2 = new JTextField(5);

jtf3 = new JTextField(6);

jtf3.setEditable(false);

jbAdd = new JButton("=");

jbAdd.addActionListener(this);//因为本类已经实现了ActionListener接口,所以添加事件的接收器就是自己(this)

jbClear = new JButton("清除");

jbClear.addActionListener(this);

//把组件,添加到窗体

add(jtf1);

add(jl);

add(jtf2);

add(jbAdd);

add(jtf3);

add(jbClear);

// 窗体属性的设置

setLayout(new FlowLayout());//窗体流式布局, 按添加顺序从左到右排列组件

setSize(380, 100);// 宽380像素,高100

setLocationRelativeTo(null);// 窗体放在显示器中间

setTitle("加法计算器");// 窗体的标题

setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击窗体右上角的关闭按钮时,结束程序

setVisible(true);// 窗体可见

}

/*

*  实现ActionListener接口 就必须重写actionPerformed方法

*/

@Override

public void actionPerformed(ActionEvent e) {// 当事件产生后,就会执行actionPerformed里的方法

JButton jbTemp= (JButton) e.getSource();//得到事件源

if(jbTemp==jbAdd) {//如果是从jbAdd产生的事件.那么执行加法操作

//因为是简单案例,就不判断和处理,用户乱输入字母汉字等情况,导致的异常了

int x = Integer.parseInt(jtf1.getText());//从文本框1得到字符串,并转化成数字

int y = Integer.parseInt(jtf2.getText());

jtf3.setText(x+y+"");//计算2个数的和,并显示在文本框3上

}else if(jbTemp==jbClear) {//如果事件源是 jbClear,那么清除文本框的文字

jtf1.setText("");

jtf2.setText("");

jtf3.setText("");

}

}

// main方法

public static void main(String[] args) {

new AddFrame();//创建一个AddFrame的实例

}

}

按钮实现下面功能;当鼠标按下按钮时显示已按下,当释放时显示已释放 java程序

代码我是懒得写!提示关键词 addMouseListener

void mousePressed(MouseEvent e) 鼠标按键在组件上按下时调用。

void mouseReleased(MouseEvent e) 鼠标按钮在组件上释放时调用。

关于java中的事件触发问题: 为什么按下键盘并释放的时候KeyReleased方法没有被调用,代码如下:

你写错事件了,是实现keylistener事件不是继承那个adapter类

import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

public class Test

{

JTextFieldtext1;

JTextFieldtext2;

public Test()

{

JFrame frame = new JFrame();

Container contain = frame.getContentPane();

text1 = new JTextField(10);

text2 = new JTextField(10);

MyKeyEvent e = new MyKeyEvent();

text1.addKeyListener(e);

contain.setLayout(new FlowLayout());

contain.add(text1);

contain.add(text2);

text1.setFocusable(true);

frame.pack();

frame.setVisible(true);

}

class MyKeyEvent implements KeyListener

{

@Override

public void keyTyped(KeyEvent e)

{

}

@Override

public void keyPressed(KeyEvent e)

{

}

@Override

public void keyReleased(KeyEvent e)

{

System.out.println(e.getKeyChar());

}

}

public static void main(String args[])

{

Test test = new Test();

}

}

java中怎么用程序触发按下一个键呢?

KeyListener

java.awt.event

接口 KeyListener

所有超级接口:

EventListener

所有已知实现类:

AWTEventMulticaster, BasicComboBoxUI.KeyHandler, BasicComboPopup.InvocationKeyHandler, BasicTableUI.KeyHandler, BasicTreeUI.KeyHandler, KeyAdapter

public interface KeyListener

extends EventListener

用于接收键盘事件(击键)的侦听器接口。旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写有用的方法)。

然后使用组件的 addKeyListener 方法将从该类所创建的侦听器对象向该组件注册。按下、释放或键入键时生成键盘事件。然后调用侦听器对象中的相关方法并将该 KeyEvent 传递给它。

从以下版本开始:

1.1

另请参见:

KeyAdapter, KeyEvent, Tutorial: Writing a Key Listener

方法摘要

void keyPressed(KeyEvent e)

按下某个键时调用此方法。

void keyReleased(KeyEvent e)

释放某个键时调用此方法。

void keyTyped(KeyEvent e)

键入某个键时调用此方法。

具体哪个键...

用参数KeyEvent可以判断是按的哪个键


网站栏目:键盘按下释放java代码 java监听键盘按键
分享网址:http://ybzwz.com/article/hejgid.html