欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java按鍵對(duì)應(yīng)代碼,java中鍵盤輸入代碼

java script鍵盤上的按鍵所對(duì)應(yīng)的代碼是什么?

如下所示:

創(chuàng)新互聯(lián)公司是一家以成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、seo優(yōu)化排名、小程序App開(kāi)發(fā)等移動(dòng)開(kāi)發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為茶藝設(shè)計(jì)等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開(kāi)發(fā)服務(wù)。

script

function keyDown() {

var value= event.keyCode

var key = String.fromCharCode(event.keyCode)

alert " 鍵: " + key + "值: " + value )

}

document.onkeydown = keyDown

/script

js跳轉(zhuǎn)頁(yè)面方法:

1.按鈕式:

INPUT name="pclog" type="button" value="GO" onClick="location.href='website'"

2.鏈接式:

a href="javascript:history.go(-1)"返回上一步/a

a href="%=Request.ServerVariables("HTTP_REFERER")%"返回上一步/a

3.直接跳轉(zhuǎn)式:

scriptwindow.location.href='website';/script

java中各種類型的鍵盤輸入代碼是什么

下面的是鍵盤和鼠標(biāo)的各種事件,看一下是不是你要的!

鼠標(biāo)監(jiān)聽(tīng)器

鼠標(biāo)監(jiān)聽(tīng)器mouseListener監(jiān)聽(tīng)鼠標(biāo)事件MouseEvent。相應(yīng)事件和處理方法如下表:

鼠標(biāo)事件 處理方法

MOUSE_CLICKED MouseClicked (MouseEvent) 鼠標(biāo)點(diǎn)擊(單或雙)

MOUSE_PRESSED MousePressed (MouseEvent) 鼠標(biāo)按下

MOUSE_RELEASED MouseReleased(MouseEvent) 鼠標(biāo)松開(kāi)

MOUSE_ENTERED MouseEntered (MouseEvent) 鼠標(biāo)進(jìn)入(某組件區(qū)域)

MOUSE_EXITED MouseExited (MouseEvent) 鼠標(biāo)離開(kāi)(某組件區(qū)域)

鼠標(biāo)事件MouseEvent常用方法

int getClickCount() 得到點(diǎn)擊次數(shù)1 OR 2;

int getX(), int getY() 得到鼠標(biāo)的(象素)位置。

對(duì)于鼠標(biāo)的移動(dòng)和拖放,另外用鼠標(biāo)運(yùn)動(dòng)監(jiān)聽(tīng)器mouseMotionListener。因?yàn)樵S多程序不需要監(jiān)聽(tīng)鼠標(biāo)運(yùn)動(dòng),把兩者分開(kāi)可簡(jiǎn)化程序。有兩個(gè)方法處理鼠標(biāo)運(yùn)動(dòng)事件:

MOUSE_MOVED MouseMoved (MouseEvent) 鼠標(biāo)在移動(dòng)MOUSE_DRAGGED MouseDragged(MouseEvent) 鼠標(biāo)被拖動(dòng)

下面的例程演示簡(jiǎn)單的鼠標(biāo)監(jiān)聽(tīng),并在屏幕上輸出鼠標(biāo)操作的信息。

例2

下面是討論MouseMotionListener的使用時(shí)機(jī),它提供的下面的兩個(gè)方法,可讓你隨時(shí)掌握鼠標(biāo)的坐標(biāo),并處理拖曳鼠標(biāo)的操作。

MouseMotionListener mouseDragged(MouseEvent e)

mouseMoved(MouseEvent e)

-----------------------------------------------------------------------

下面的范例讓你知道鼠標(biāo)在JFrame上的坐標(biāo),并拖曳出直線來(lái)。

MouseDemo3.java

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

/*為了達(dá)到畫線的功能,我們分別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;//起始坐標(biāo)與終點(diǎn)坐標(biāo)

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()取得示拖曳的開(kāi)始與結(jié)束坐標(biāo)*/

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()取得鼠標(biāo)移動(dòng)的每一個(gè)坐標(biāo),并調(diào)用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("鼠標(biāo)坐標(biāo):("+x+","+y+";)",10,50);

g.drawLine(startx,starty,endx,endy);

}

if (flag==2){

g.drawString("拖曳鼠標(biāo)價(jià)坐標(biāo):("+x+","+y+";)",10,50);

g.drawLine(startx,starty,x,y);

}

}

public static void main(String[] args){

new MouseDemo3();

}

}

例3

實(shí)現(xiàn)一個(gè)簡(jiǎn)單的鼠標(biāo)控制程序MouseController。程序功能很簡(jiǎn)單:隨機(jī)移動(dòng)鼠標(biāo)并點(diǎn)擊左鍵。

代碼如下:

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 本例程演示鼠標(biāo)監(jiān)聽(tīng)器,鼠標(biāo)點(diǎn)擊和運(yùn)動(dòng)的監(jiān)聽(tīng)。

///

// 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雙擊鼠標(biāo)");

int x = evt.getX(); int y = evt.getY();

System.out.println("點(diǎn)擊鼠標(biāo)的位置\nX:" + x + "\ty: " + y);

}

});

addMouseMotionListener(this);

}

publicvoid mouseMoved(MouseEvent evt){

System.out.println("\n鼠標(biāo)正在移動(dòng)");

}

publicvoid mouseDragged(MouseEvent evt){

System.out.println("\n鼠標(biāo)正在拖動(dòng)");

}

}

class MyFrame extends JFrame{

public MyFrame(){

setTitle("鼠標(biāo)事件示例程序");

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);

}

}

///

簡(jiǎn)要說(shuō)明

在MyPanel的構(gòu)建器中添加了鼠標(biāo)適配器來(lái)監(jiān)聽(tīng)鼠標(biāo)點(diǎn)擊數(shù)和位置。也添加了運(yùn)動(dòng)監(jiān)聽(tīng)器來(lái)處理移動(dòng)和拖放操作。

鼠標(biāo)雙擊事件

鼠標(biāo)的單雙擊事件在很多時(shí)候?qū)ξ覀儙椭艽?但是在JAVA中卻沒(méi)有給出鼠標(biāo)雙擊事件.我們可以通過(guò)事件源e.getClickCount()==2來(lái)判斷鼠標(biāo)點(diǎn)擊次數(shù)來(lái)實(shí)現(xiàn)鼠標(biāo)雙擊事件,例如: 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!");

}

}

}

但是這樣并沒(méi)有達(dá)到我們的要求,因?yàn)樵诿看斡|發(fā)雙擊事件的同時(shí)會(huì)觸發(fā)單擊事件.所以我們?cè)噲D改進(jìn)以上方案,不使用系統(tǒng)提供的e.getClickCount()方法.可以考慮當(dāng)?shù)谝淮螁螕羰髽?biāo)的時(shí)候讓鼠標(biāo)單擊事件延時(shí)0.2秒執(zhí)行,而在這段時(shí)間里等待第二次單擊,如果有第二次單擊,那么我們執(zhí)行雙擊事件任務(wù),取消單擊任務(wù);如果在這段時(shí)間沒(méi)有等到再次單擊,那么執(zhí)行單擊任務(wù).

下面是用定時(shí)器延時(shí)單擊事件實(shí)現(xiàn)鼠標(biāo)雙擊事件,單擊和雙擊事件互不影響!

public class MyMouseListener

extends java.awt.event.MouseAdapter ...{

private static boolean flag=false;//用來(lái)判斷是否已經(jīng)執(zhí)行雙擊事件

private static int clickNum=0;//用來(lái)判斷是否該執(zhí)行雙擊事件

public void mouseClicked(MouseEvent e) ...{

final MouseEvent me=e;//事件源

this.flag=false;//每次點(diǎn)擊鼠標(biāo)初始化雙擊事件執(zhí)行標(biāo)志為false

if (this.clickNum == 1) ...{//當(dāng)clickNum==1時(shí)執(zhí)行雙擊事件

this.mouseDoubleClicked(me);//執(zhí)行雙擊事件

this.clickNum=0;//初始化雙擊事件執(zhí)行標(biāo)志為0

this.flag=true;//雙擊事件已執(zhí)行,事件標(biāo)志為true

return;

}

//定義定時(shí)器

java.util.Timer timer=new java.util.Timer();

//定時(shí)器開(kāi)始執(zhí)行,延時(shí)0.2秒后確定是否執(zhí)行單擊事件

timer.schedule(new java.util.TimerTask() ...{

private int n=0;//記錄定時(shí)器執(zhí)行次數(shù)

public void run() ...{

if(MyMouseListener.flag)...{//如果雙擊事件已經(jīng)執(zhí)行,那么直接取消單擊執(zhí)行

n=0;

MyMouseListener.clickNum=0;

this.cancel();

return;

}

if (n == 1) ...{//定時(shí)器等待0.2秒后,雙擊事件仍未發(fā)生,執(zhí)行單擊事件

mouseSingleClicked(me);//執(zhí)行單擊事件

MyMouseListener.flag = true;

MyMouseListener.clickNum=0;

n=0;

this.cancel();

return;

}

clickNum++;

n++;

}

},new java.util.Date(),500);

}

/** *//**

* 鼠標(biāo)單擊事件

* @param e 事件源參數(shù)

*/

public void mouseSingleClicked(MouseEvent e)...{

System.out.println("Single Clicked!");

}

/** *//**

* 鼠標(biāo)雙擊事件

* @param e 事件源參數(shù)

*/

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();

}

}

鍵盤監(jiān)聽(tīng)器

鍵盤監(jiān)聽(tīng)器KeyListener用來(lái)監(jiān)聽(tīng)鍵盤事件。鍵盤事件有三種:KEY_PRESSED鍵按下了,KEY_RELEASED鍵松開(kāi)了,KEY_TYPED鍵按過(guò)了。每個(gè)鍵都有一個(gè)鍵碼,普通鍵的鍵碼就是ASCII碼。鍵碼可通過(guò)int getKeyCode()方法獲得。Java設(shè)置了一種“虛擬鍵碼”(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 小鍵盤數(shù)字0 VK_F1 功能鍵F1

VK_0 數(shù)字鍵0 VK_B 字母鍵B

虛擬鍵碼對(duì)應(yīng)的是鍵位,不區(qū)分大小寫。要想知道大小寫還必須查看修飾鍵(modifier key)。這由輸入事件InputEvent的getModifere()方法得到,把返回值與常量SHIFT_MASK, CONTROL_MASK, ALT_MASK比較,用以判定哪個(gè)修飾鍵處于“同時(shí)按下”狀態(tài)。

監(jiān)聽(tīng)器KeyListener有三個(gè)方法keyPressed(KeyEvent evt),keyReleased(KeyEvent evt),keyTyped(KeyEvent evt),分別用于相應(yīng)事件發(fā)生后的處理。下面的例程中給自己的鍵盤監(jiān)聽(tīng)器建立了showKeyEventMsg方法來(lái)顯示按鍵信息。

除了getKeyCode()方法得到鍵碼外,還可用getKeyChar()方法得到輸入的字符,用getKeyText(code)方法得到輸入的字符串。用isShiftDown()判斷shift鍵是否被按下等。當(dāng)按下Control鍵時(shí)getKeyText返回的是“ctrl",Alt和Shift也類似。

下面的例子演示得到鍵碼和字符的方法,在命令行上顯示結(jié)果。

例1 本例程演示鍵盤監(jiān)聽(tīng)器后鍵碼的用法。

///

// 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){//顯示按鍵事件信息

//得到按鍵對(duì)應(yīng)的整型數(shù)

int code = evt.getKeyCode();

//返回按鍵事件所代表的字符

char c = evt.getKeyChar();

//得到代表按鍵的字符串

String szText = evt.getKeyText(code);

if (code != KeyEvent.VK_UNDEFINED)

System.out.println("\n按鍵對(duì)應(yīng)的整型數(shù):"+code);

if (c != KeyEvent.CHAR_UNDEFINED)

System.out.println("\n與按鍵相聯(lián)系的字符:"+c);

if (evt.isShiftDown())

System.out.println("\n按鍵Shift被按下");

System.out.println("\n按鍵本身的字符串:"+szText);

}

}

class ButtonPanel extends JPanel{

public ButtonPanel() {

//新建一個(gè)文本域組件

tf = new JTextField(20);

add(tf);

//指定用來(lái)處理該按鈕事件的監(jiān)聽(tīng)器對(duì)象為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);

}

}

///簡(jiǎn)要說(shuō)明

程序建立了自己的鍵盤監(jiān)聽(tīng)器MyKeyListener,定義了一個(gè)新方法showKeyEventMsg用來(lái)在標(biāo)準(zhǔn)輸出設(shè)備上顯示有關(guān)的鍵盤信息。

在面版ButtonPanel上建立文本框并加鍵盤監(jiān)聽(tīng)器。把面版ButtonPanel放到窗口ButtonFrame中。

Java中按鈕事件代碼

加入在frame中的按鈕名為sure

Button sure=new Button("確定");

sure.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent evt)

{

frame1.setVisible(false);

Frame frame2=new Frame();

frame2.setVisible(true);

}

});

java程序鍵碼值解析

在高級(jí)用戶界面開(kāi)發(fā)中,只能使用功能鍵來(lái)控制Command按鈕,這些都是一些固定的模式,例如手機(jī)顯示兩個(gè)Command的話,分別對(duì)應(yīng)屏幕上的左右兩個(gè)Command,不需要用戶去處理鍵值,所以不存在移植的問(wèn)題,在所有的手機(jī)上都是通用的。

但是在低級(jí)用戶界面開(kāi)發(fā)中,可以直接獲得手機(jī)的鍵值(keyCode),因?yàn)椴煌氖謾C(jī)中按鍵的鍵值存在差別,所以就存在移植的問(wèn)題了。

在手機(jī)鍵盤上,可以簡(jiǎn)單的分為功能鍵區(qū)域和數(shù)字鍵區(qū)域,功能鍵指手機(jī)上的左右軟鍵,中間的導(dǎo)航鍵以及接聽(tīng)電話和掛機(jī)鍵等,數(shù)字鍵區(qū)域指手機(jī)鍵盤上的 0-9數(shù)字鍵以及*號(hào)和#號(hào)鍵。其中功能鍵的個(gè)數(shù)以及鍵值,不同的手機(jī)區(qū)別很大,而數(shù)字鍵的區(qū)域的按鍵個(gè)數(shù),以及按鍵的鍵值都是一樣的。

所以在游戲中為了使程序通用,一般都不直接使用鍵值來(lái)進(jìn)行判斷,而是用游戲動(dòng)作(gameAction)來(lái)進(jìn)行判別的:實(shí)現(xiàn)的代碼如下:

//將keyCode轉(zhuǎn)換為游戲動(dòng)作

int action = getGameAction(keyCode);

其中,keyCode和游戲動(dòng)作的對(duì)應(yīng)關(guān)系如下:

Canvas.UP——數(shù)字鍵2和向上導(dǎo)航鍵

Canvas.DOWN——數(shù)字鍵8和向下導(dǎo)航鍵

Canvas.LEFT——數(shù)字鍵4和向左導(dǎo)航鍵

Canvas.RIGHT——數(shù)字鍵6和向右導(dǎo)航鍵

Canvas.FIRE——數(shù)字鍵5和確定導(dǎo)航鍵

Game_A、Game_B、Game_C、Game_D分別對(duì)應(yīng)鍵盤上的1、3、7、9或者是7、9、*、#鍵。

經(jīng)過(guò)上面的轉(zhuǎn)換以后,代碼實(shí)現(xiàn)就和手機(jī)鍵盤上的鍵值無(wú)關(guān)了。

另外,如果是Nokia系列的手機(jī),還可以使用com.nokia.mid.ui.FullCanvas類里面的SOFTKEY1、SOFTKEY2來(lái)控制Nokia系列手機(jī)上的左右兩個(gè)軟鍵,做到這兩個(gè)軟鍵的處理通用。

網(wǎng)頁(yè)標(biāo)題:java按鍵對(duì)應(yīng)代碼,java中鍵盤輸入代碼
URL網(wǎng)址:http://chinadenli.net/article23/dsigics.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作企業(yè)網(wǎng)站制作網(wǎng)站設(shè)計(jì)公司虛擬主機(jī)面包屑導(dǎo)航移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)