问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中各种类型的键盘输入代码是什么

发布网友 发布时间:2022-04-29 05:59

我来回答

3个回答

热心网友 时间:2022-06-20 07:08

下面的是键盘和鼠标的各种事件,看一下是不是你要的!

鼠标*
鼠标*mouseListener监听鼠标事件MouseEvent。相应事件和处理方法如下表:
鼠标事件 处理方法
MOUSE_CLICKED MouseClicked (MouseEvent) 鼠标点击(单或双)
MOUSE_PRESSED MousePressed (MouseEvent) 鼠标按下
MOUSE_RELEASED MouseReleased(MouseEvent) 鼠标松开
MOUSE_ENTERED MouseEntered (MouseEvent) 鼠标进入(某组件区域)
MOUSE_EXITED MouseExited (MouseEvent) 鼠标离开(某组件区域)

鼠标事件MouseEvent常用方法
int getClickCount() 得到点击次数1 OR 2;
int getX(), int getY() 得到鼠标的(象素)位置。

对于鼠标的移动和拖放,另外用鼠标运动*mouseMotionListener。因为许多程序不需要监听鼠标运动,把两者分开可简化程序。有两个方法处理鼠标运动事件:
MOUSE_MOVED MouseMoved (MouseEvent) 鼠标在移动MOUSE_DRAGGED MouseDragged(MouseEvent) 鼠标被拖动
下面的例程演示简单的鼠标监听,并在屏幕上输出鼠标操作的信息。
例2
下面是讨论MouseMotionListener的使用时机,它提供的下面的两个方法,可让你随时掌握鼠标的坐标,并处理拖曳鼠标的操作。
MouseMotionListener mouseDragged(MouseEvent e)
mouseMoved(MouseEvent e)
-----------------------------------------------------------------------
下面的范例让你知道鼠标在JFrame上的坐标,并拖曳出直线来。
MouseDemo3.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*为了达到画线的功能,我们分别implements MouseListener与MouseMotionListener.
*/
public class MouseDemo3 extends JFrame implements MouseListener,MouseMotionListener{
int flag;//flag=1代表Mouse Moved,flag=2代表Mouse Dragged
int x=0;
int y=0;
int startx,starty,endx,endy;//起始坐标与终点坐标
public MouseDemo3(){
Container contentPane=getContentPane();
contentPane.addMouseListener(this);
contentPane.addMouseMotionListener(this);
setSize(300,300);
show();
addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
}
/*由mousePressed(),mouseReleased()取得示拖曳的开始与结束坐标*/
public void mousePressed(MouseEvent e){
startx=e.getX();
starty=e.getY();
}
public void mouseReleased(MouseEvent e){
endx=e.getX();
endy=e.getY();
}
public void mouseEntered(MouseEvent e){ }
public void mouseExited(MouseEvent e){ }
public void mouseClicked(MouseEvent e){ }
/*mouseMoved(),mouseDragged()取得鼠标移动的每一个坐标,并调用repaint()方法*/
public void mouseMoved(MouseEvent e){
flag=1;
x=e.getX();
y=e.getY();
repaint();
}
public void mouseDragged(MouseEvent e){
flag=2;
x=e.getX();
y=e.getY();
repaint();
}
public void update(Graphics g){
g.setColor(this.getBackground());
g.fillRect(0,0,getWidth(),getHeight());
paint(g);
}
public void paint(Graphics g){
g.setColor(Color.black);
if (flag==1){
g.drawString("鼠标坐标:("+x+","+y+";)",10,50);
g.drawLine(startx,starty,endx,endy);
}
if (flag==2){
g.drawString("拖曳鼠标价坐标:("+x+","+y+";)",10,50);
g.drawLine(startx,starty,x,y);
}
}
public static void main(String[] args){
new MouseDemo3();
}
}

例3
实现一个简单的鼠标控制程序MouseController。程序功能很简单:随机移动鼠标并点击左键。
代码如下:
import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.InputEvent;
import java.util.Random;
/**
*
*/
/**
* @Create date 2007-11-6
*/
public class MouseController implements Runnable {
private Dimension dim;
private Random rand;
private Robot robot;
private volatile boolean stop = false;
public MouseController() {
dim = Toolkit.getDefaultToolkit().getScreenSize();
rand = new Random();
try {
robot = new Robot();
} catch (AWTException ex) {
ex.printStackTrace();
}
}
public void run() {
while(!stop) {
int x = rand.nextInt(dim.width);
int y = rand.nextInt(dim.height);
robot.mouseMove(x, y);
robot.mousePress(InputEvent.BUTTON1_MASK);
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
public synchronized void stop() {
stop = true;
}
public static void main(String[] args) {
MouseController mc = new MouseController();
Thre
$False$
ad mcThread = new Thread(mc);
System.out.println("Mouse Controller start");
mcThread.start();
try {
Thread.sleep(60000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
mc.stop();
System.out.println("Mouse Controller stoped");
}
}

例4 本例程演示鼠标*,鼠标点击和运动的监听。
///
// MouseEvt.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class MyPanel extends JPanel implements MouseMotionListener{
public MyPanel() {
addMouseListener(new MouseAdapter() {
publicvoid mouseClicked(MouseEvent evt) {
if (evt.getClickCount() >= 2)
System.out.println("\n双击鼠标");
int x = evt.getX(); int y = evt.getY();
System.out.println("点击鼠标的位置\nX:" + x + "\ty: " + y);
}
});
addMouseMotionListener(this);
}
publicvoid mouseMoved(MouseEvent evt){
System.out.println("\n鼠标正在移动");
}
publicvoid mouseDragged(MouseEvent evt){
System.out.println("\n鼠标正在拖动");
}
}
class MyFrame extends JFrame{
public MyFrame(){
setTitle("鼠标事件示例程序");
setSize(300, 200);
addWindowListener(new WindowAdapter(){
publicvoid windowClosing(WindowEvent e){
System.exit(0);
}
} );
Container contentPane = getContentPane();
contentPane.add(new MyPanel());
}
}
publicclass MouseEvt{
publicstaticvoid main(String[] args){
JFrame frame = new MyFrame();
frame.setVisible(true);
}
}
///

简要说明
在MyPanel的构建器中添加了鼠标适配器来监听鼠标点击数和位置。也添加了运动*来处理移动和拖放操作。
鼠标双击事件
鼠标的单双击事件在很多时候对我们帮助很大,但是在JAVA中却没有给出鼠标双击事件.我们可以通过事件源e.getClickCount()==2来判断鼠标点击次数来实现鼠标双击事件,例如: public class MyMouseListener
extends java.awt.event.MouseAdapter ...{

public void mouseClicked(MouseEvent e) ...{
System.out.println("clicked");
int clickTimes = e.getClickCount();
if (clickTimes == 2) ...{
System.out.println("Doublc Clicked!");
}
}
}
但是这样并没有达到我们的要求,因为在每次触发双击事件的同时会触发单击事件.所以我们试图改进以上方案,不使用系统提供的e.getClickCount()方法.可以考虑当第一次单击鼠标的时候让鼠标单击事件延时0.2秒执行,而在这段时间里等待第二次单击,如果有第二次单击,那么我们执行双击事件任务,取消单击任务;如果在这段时间没有等到再次单击,那么执行单击任务.

下面是用定时器延时单击事件实现鼠标双击事件,单击和双击事件互不影响!

public class MyMouseListener
extends java.awt.event.MouseAdapter ...{
private static boolean flag=false;//用来判断是否已经执行双击事件
private static int clickNum=0;//用来判断是否该执行双击事件

public void mouseClicked(MouseEvent e) ...{
final MouseEvent me=e;//事件源

this.flag=false;//每次点击鼠标初始化双击事件执行标志为false

if (this.clickNum == 1) ...{//当clickNum==1时执行双击事件
this.mouseDoubleClicked(me);//执行双击事件
this.clickNum=0;//初始化双击事件执行标志为0
this.flag=true;//双击事件已执行,事件标志为true
return;
}

//定义定时器
java.util.Timer timer=new java.util.Timer();

//定时器开始执行,延时0.2秒后确定是否执行单击事件
timer.schele(new java.util.TimerTask() ...{
private int n=0;//记录定时器执行次数
public void run() ...{
if(MyMouseListener.flag)...{//如果双击事件已经执行,那么直接取消单击执行
n=0;
MyMouseListener.clickNum=0;
this.cancel();
return;
}
if (n == 1) ...{//定时器等待0.2秒后,双击事件仍未发生,执行单击事件
mouseSingleClicked(me);//执行单击事件
MyMouseListener.flag = true;
MyMouseListener.clickNum=0;
n=0;
this.cancel();
return;
}
clickNum++;
n++;
}
},new java.util.Date(),500);
}

/** *//**
* 鼠标单击事件
* @param e 事件源参数
*/
public void mouseSingleClicked(MouseEvent e)...{
System.out.println("Single Clicked!");
}

/** *//**
* 鼠标双击事件
* @param e 事件源参数
*/
public void mouseDoubleClicked(MouseEvent e)...{
System.out.println("Doublc Clicked!");
}
}

//Test.java

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Test extends JFrame{

public Test(){
super("test");
init();
this.setSize(800,600);
this.setVisible(true);
}

private void init(){
JButton b=new JButton("button");
b.setBounds(50,50,100,30);
this.getContentPane().setLayout(null);
this.getContentPane().add(b);
b.addMouseListener(new MyMouseListener());
}

public static void main(String args[]){
new Test();
}

}

键盘*
键盘*KeyListener用来监听键盘事件。键盘事件有三种:KEY_PRESSED键按下了,KEY_RELEASED键松开了,KEY_TYPED键按过了。每个键都有一个键码,普通键的键码就是ASCII码。键码可通过int getKeyCode()方法获得。Java设置了一种“虚拟键码”(Virtual Key Code),用“VK_”作为前缀,例如VK_G。下面是某些特殊键的虚拟键码。
键码 含义 键码 含义
VK_LEFT/VK_RIGHT 左右方向键 VK_CONTROL Ctrl键
VK_KP_UP 小键盘向上 VK_ATL Alt键
VK_PAUSE 暂停键 VK_SHIFT Shift键
VK_NUMBER0 小键盘数字0 VK_F1 功能键F1
VK_0 数字键0 VK_B 字母键B
虚拟键码对应的是键位,不区分大小写。要想知道大小写还必须查看修饰键(modifier key)。这由输入事件InputEvent的getModifere()方法得到,把返回值与常量SHIFT_MASK, CONTROL_MASK, ALT_MASK比较,用以判定哪个修饰键处于“同时按下”状态。
*KeyListener有三个方法keyPressed(KeyEvent evt),keyReleased(KeyEvent evt),keyTyped(KeyEvent evt),分别用于相应事件发生后的处理。下面的例程中给自己的键盘*建立了showKeyEventMsg方法来显示按键信息。
除了getKeyCode()方法得到键码外,还可用getKeyChar()方法得到输入的字符,用getKeyText(code)方法得到输入的字符串。用isShiftDown()判断shift键是否被按下等。当按下Control键时getKeyText返回的是“ctrl",Alt和Shift也类似。
下面的例子演示得到键码和字符的方法,在命令行上显示结果。

例1 本例程演示键盘*后键码的用法。
///
// KeyEvt.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class MyKeyListener implements KeyListener{
publicvoid keyPressed(KeyEvent evt) {
System.out.println("\n按键被按下");
showKeyEventMsg(evt);
}
publicvoid keyReleased(KeyEvent evt){ }
publicvoid keyTyped(KeyEvent evt) { }
privatevoid showKeyEventMsg(KeyEvent evt){//显示按键事件信息
//得到按键对应的整型数
int code = evt.getKeyCode();
//返回按键事件所代表的字符
char c = evt.getKeyChar();
//得到代表按键的字符串
String szText = evt.getKeyText(code);
if (code != KeyEvent.VK_UNDEFINED)
System.out.println("\n按键对应的整型数:"+code);
if (c != KeyEvent.CHAR_UNDEFINED)
System.out.println("\n与按键相联系的字符:"+c);
if (evt.isShiftDown())
System.out.println("\n按键Shift被按下");
System.out.println("\n按键本身的字符串:"+szText);
}
}
class ButtonPanel extends JPanel{
public ButtonPanel() {
//新建一个文本域组件
tf = new JTextField(20);
add(tf);
//指定用来处理该按钮事件的*对象为JPanel本身
myListener = new MyKeyListener();
tf.addKeyListener(myListener);
}
private JTextField tf;
private MyKeyListener myListener;
}
class ButtonFrame extends JFrame{
public ButtonFrame() {
setTitle("键盘事件示例程序");
setSize(300, 200);
setLocation(100,100);
addWindowListener(new WindowAdapter() {
publicvoid windowClosing(WindowEvent e)
{ System.exit(0);
}
});
Container ctPane = getContentPane();
ctPane.add(new ButtonPanel());
}
}
publicclass KeyEvt{
publicstaticvoid main(String[] args) {
JFrame frame = new ButtonFrame();
frame.setVisible(true);
}
}
///简要说明

程序建立了自己的键盘*MyKeyListener,定义了一个新方法showKeyEventMsg用来在标准输出设备上显示有关的键盘信息。
在面版ButtonPanel上建立文本框并加键盘*。把面版ButtonPanel放到窗口ButtonFrame中。

热心网友 时间:2022-06-20 07:08

1111

热心网友 时间:2022-06-20 07:09

这个去看下API就知道
java 键盘输入语句怎么写

第一种:public class ShuRu{ public static void main(String arg[]){ System.out.println(arg[1]);} } 第二种:import java.util.Scanner;public class ShuRu{ public static void main(String arg[]){ Scanner in=new Scanner(System.in);String str=in.next();System.out.println(str);}...

java输入输出程序代码

解析1、输入:从键盘输入需要用到java的Scanner这个util包下的工具类 Scanner中输入是需要对输入的字符进行分类,int类型为nextint()方法,double类型为nextDouble()方法,字符串类型为next()方法。code:out:2、输出:java常用的输出为println code:out:除了println()方法之外,java还有print()和printf()...

用Java语言从键盘中输入内容

1、如果你想在Java中定义一个函数的话,首先我们需要定义一个函数名,即:import java.util.name;name=new name(system.in);2、如果想要从键盘输入一个字符串的话,我们只需要在Java里面输入:string n=name.next();3、但是在输入字符串之前,我们需要先定义数值型,如果是定义整型,需要输入:int ...

java怎么实现自动输入

在Java中实现自动输入通常涉及到模拟键盘操作。这可以通过使用Java的`java.awt.Robot`类来完成。`Robot`类可以生成本地系统输入事件,模仿用户与键盘和鼠标的交互。例如,以下代码段展示了如何使用`Robot`类模拟键盘输入:```java import java.awt.Robot;import java.awt.event.KeyEvent;public class Auto...

在Java中使用键盘输入数据的几种方法

字节输入流System.in 是类InputStream的常量对象,调用read()方法可以从键盘接收数据。实现的步骤是:先把数据读入字节数组中,然后利用字节数组定义字符串,最后把字符串转化为需要的数据类型。package InputTest;import java.io.*;public class DataKeyboardInput2 { /**利用字节输入流来输入数据 Data...

Java如何实现键盘输入?

可以使用 Java 中的 Scanner 类来定义一个键盘扫描对象,接着使用 next() 方法来接收用户输入的字符串,再通过 Integer.parseInt() 方法将字符串转换为整数类型。以下是示例代码:上述程序定义了一个长度为 10 的整型数组 score 来存放成绩数据,使用 for 循环从键盘输入 10 名学生的成绩数据,然后再...

这是一个计算器的JAVA,咋在其中添加一个从键盘输入两个数字的代码

//String num2="1";Scanner scan = new Scanner(System.in);System.out.println("请输入第一个数:");String num1 = scan.nextLine();System.out.println("请输入第二个数:");String num2 = scan.nextLine();System.out.println("两数之和是:"+sc.add(num1,num2));System.out....

在JAVA中怎么从键盘输入一个数字 用什么关键字

Scanner sc=new Scanner(System.in);int j=sc.nextInt();如果通过使用 nextInt() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个 int 值。关键字:一般是用scanner用法。

java script键盘上的按键所对应的代码是什么?

function keyDown() { var value= event.keyCode var key = String.fromCharCode(event.keyCode)alert " 键: " + key + "值: " + value )} document.onkeydown = keyDown js跳转页面方法:1.按钮式:<INPUT name="pclog" type="button" value="GO" onClick="location.href='web...

java键盘输入语句怎么写

char i = (char) System.in.read();System.out.println(“your char is :”+i);} } 虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量...

java键盘输入代码 如何在java中实现键盘输入 java的键盘输入 java怎么从键盘上输入数据 java获取键盘输入的数字 java键盘输入scanner java实现键盘输入 java读取键盘输入 java键盘输入字符
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
word里的表格怎么调整行高和列宽 怎样调整word表格的行高与列宽 一吨煤能发多少功率 微信不打开微信就收不到语音和视频提示怎么办? 微信来电不显示怎么办 ...公众号里添加文字连接?比如“点击报名”几个字,点进去就是一个报名... 顺丰快递笔记本电脑多少钱? 东莞市捷高电子材料有限公司公司简介 淘宝的购买记录保留多久? 为什么蜻蜓喜欢飞来飞去? 2021工资总额超过6万元,2022年如何交个税? win7旗舰版键盘代码52 月工资6万交个税多少元 键盘失灵代码 41 6万块工资要交多少税 E语言键代码小键盘的键码 工资6万交多少个人所得税? javascript键盘上的按键所对应的代码是什么 AutoHotkey简单按键盘代码,在线等 flash高手告诉我flash里键盘各个按键的代码是多少?? 笔记本键盘错误代码45是什么意思 求用C编程时 键盘所有的键的代码 winxp如何修改超级用户的密码 F1,F2,F3,F4,F5,F6,F7,F8,F9在按键精灵中的代码是什么 超级用户怎么强行改开机密码,电脑 VB常用键盘代码一览表 电脑超级用户密码忘了怎么办? 按键精灵8 后台键盘对应代码怎么找? 比如空格是32,小键盘数字1是49,我想知道大键盘数字1-0都是对应什么 请教:数字键盘0至9键对应的代码分别是多少? 键盘每个键的代码是什么? 月收入超过6万交多少个税 问:问大家下,月薪6万,个人所得税是多少 问:问大家下,月薪6万,个人所得税是多少?扣除税收是多少钱? 钴的半衰期为5.3年,10年后还剩多少? 工资多少钱要交个人所得税 钴的化学性质 钴金属具有放射性吗? 中子弹外面装上钴壳,可以做成传说中的钴弹吗? “末日武器”钴弹,为什么没有国家敢试验? 一颗钴弹真的就能毁灭全人类吗? 请问河南杞县那个60%“钴”指的是什么?严重吗? 一些同位素的半衰期是多少? 钴源(Co60)是什么意思? 半衰期的部分原子 介绍几种放射性元素及其半衰期? 钴到底有多少种同位素,61存在吗 钴60形态 阴阳师 运行脚本本检测,如何避免检测 如何隐藏游戏辅助脚本不让运营商监测到! 游戏脚本怎样防封?