java怎么给按钮添加一个键盘监听?(麻烦写的易懂些)

java怎么给按钮添加一个键盘监听?(麻烦写的易懂些),第1张

importjava.awt.*importjava.awt.event.*publicclassKeyTestextendsFrame{publicKeyTest(){//注册键盘监听addKeyListener(newKeyAdapter(){publicvoidkeyPressed(KeyEventke){System.out.println("Thecharis:"+ke.getKeyChar())}})//注册窗口监听setSize(100,100)setVisible(true)}publicstaticvoidmain(String[]args){newKeyTest()}}不知道这个行否?

*** 作系统,有两个层次,第一个层次是对组装起电脑的各个硬件的驱动程序;第二个是建立在驱动程序上的各项应用程序,比如桌面显示、键盘监听后的处理程序等等。如果想要进行监听键盘,那么就需要获取到所使用 *** 作系统给出的api接口,以windows系统为例,是用c和c++进行编写的,所以他们提供的api都是c和c++的api接口。于是用java的话就需要用到java的native方法,一个Native Method就是一个java调用非java代码的接口。所以3个步骤:

1、引用java native方法。

2、研究windows api。

3、调用windows api中的键盘监听接口,完成程序。

方法一:从控制台接收一个字符,然后将其打印出来

import java.io.*

public static void main(String [] args) throws IOException{ 

         System.out.print("Enter a Char:") 

         char i = (char) System.in.read() 

         System.out.println("your char is :"+i) 

虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。

方法二:从控制台接收一个字符串,然后将其打印出来。 在这个题目中,我们需要用到BufferedReader类和InputStreamReader类

import java.io.*

public static void main(String [] args) throws IOException{ 

           BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) 

           String str = null 

           System.out.println("Enter your value:") 

           str = br.readLine() 

           System.out.println("your value is :"+str) 

}

这样我们就能获取我们输入的字符串。

方法三:这种方法我认为是最简单,最强大的,就是用Scanner类

import java.util.Scanner

public static void main(String [] args) { 

         Scanner sc = new Scanner(System.in) 

         System.out.println("请输入你的姓名:") 

         String name = sc.nextLine() 

         System.out.println("请输入你的年龄:") 

         int age = sc.nextInt() 

         System.out.println("请输入你的工资:") 

         float salary = sc.nextFloat() 

         System.out.println("你的信息如下:") 

         System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary) 

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11660062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存