java鼠標(biāo)連點(diǎn)程序代碼 鼠標(biāo)點(diǎn)擊代碼

java中控制鼠標(biāo)點(diǎn)擊的方法

//利用 java.awt.Robot 類來自動(dòng)完成一些鍵盤或鼠標(biāo)的動(dòng)作,下面是一個(gè)小例子

創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、雙江網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為雙江等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

//程序流程:模擬鼠標(biāo)左鍵點(diǎn)擊 開始--運(yùn)行--CMD--DIR--CLS--EXIT

//模擬右鍵點(diǎn)擊 移動(dòng)到右下角--右鍵點(diǎn)擊--調(diào)整日期和時(shí)間--退出

import java.awt.*;

import java.awt.event.*;

import javax.swing.JOptionPane;

//Test.java

public class Test {

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

final Robot rb = new Robot();

new Thread(){

public void run(){

rb.delay(2000);

//回車

rb.keyPress(KeyEvent.VK_ENTER);

rb.keyRelease(KeyEvent.VK_ENTER);

}

}.start();

JOptionPane.showMessageDialog(null,"以下程序自動(dòng)執(zhí)行,包括本對話框,請不必進(jìn)行人為干預(yù).\n如果不能正常執(zhí)行程序,請先關(guān)閉輸入法");

//設(shè)置開始菜單的大概位置

int x = 40;

int y = Toolkit.getDefaultToolkit().getScreenSize().height-10;

//鼠標(biāo)移動(dòng)到開始菜單,

rb.mouseMove(x,y);

rb.delay(500);

//單擊三次開始菜單

for(int i=0; i3; i++)

pressMouse(rb,InputEvent.BUTTON1_MASK,500);

rb.delay(1000);

//運(yùn)行CMD命令 r cmd enter

int[] ks = {KeyEvent.VK_R,KeyEvent.VK_C,KeyEvent.VK_M,KeyEvent.VK_D,KeyEvent.VK_ENTER,};

pressKeys(rb,ks,500);

rb.mouseMove(400,400);

rb.delay(500);

//運(yùn)行DIR命令 dir enter

ks = new int[]{KeyEvent.VK_D,KeyEvent.VK_I,KeyEvent.VK_R,KeyEvent.VK_ENTER};

pressKeys(rb,ks,500);

rb.delay(1000);

//運(yùn)行CLS命令 cls enter

ks = new int[]{KeyEvent.VK_C,KeyEvent.VK_L,KeyEvent.VK_S,KeyEvent.VK_ENTER};

pressKeys(rb,ks,500);

rb.delay(1000);

//運(yùn)行EXIT命令 exit enter

ks = new int[]{KeyEvent.VK_E,KeyEvent.VK_X,KeyEvent.VK_I,KeyEvent.VK_T,KeyEvent.VK_ENTER};

pressKeys(rb,ks,500);

rb.delay(1000);

//右鍵測試

x=Toolkit.getDefaultToolkit().getScreenSize().width-10;

rb.mouseMove(x, y);

//如果是雙鍵鼠標(biāo),請改用InputEvent.BUTTON2_MASK試試,我沒有這種鼠標(biāo)

pressMouse(rb,InputEvent.BUTTON3_MASK,500);

//顯示日期調(diào)整對話框 a

pressKeys(rb,new int[]{KeyEvent.VK_A},1000);

rb.delay(2000);

pressKeys(rb,new int[]{KeyEvent.VK_ESCAPE},0);

rb.delay(1000);

new Thread(){

public void run(){

rb.delay(1000);

//回車

rb.keyPress(KeyEvent.VK_ENTER);

rb.keyRelease(KeyEvent.VK_ENTER);

}

}.start();

JOptionPane.showMessageDialog(null,"演示完畢!");

}

//鼠標(biāo)單擊,要雙擊就連續(xù)調(diào)用

private static void pressMouse(Robot r,int m,int delay){

r.mousePress(m);

r.delay(10);

r.mouseRelease(m);

r.delay(delay);

}

//鍵盤輸入

private static void pressKeys(Robot r,int[] ks,int delay){

for(int i=0; iks.length; i++){

r.keyPress(ks[i]);

r.delay(10);

r.keyRelease(ks[i]);

r.delay(delay);

}

}

}

Java 點(diǎn)擊鼠標(biāo)拖動(dòng)某一個(gè)點(diǎn)代碼

this.addMouseListener(new

MouseAdapter()

{

@Override

public

void

mousePressed(MouseEvent

e)

{

x

=

e.getX();

y

=

e.getY();

System.out.println("Xbefore:"+e.getX());

}

});

this.addMouseMotionListener(new

MouseMotionListener()

{

public

void

mouseDragged(MouseEvent

e)

{

JButton

btn

=

(JButton)

e.getSource();

setLocation(btn.getX()

+

e.getX()

-

x,

btn.getY()

+

e.getY()

-

y);

}

public

void

mouseMoved(MouseEvent

e)

{

}

});

上面的代碼是給JButton添加的鼠標(biāo)事件,移動(dòng)的是按鈕。。。

用java寫一個(gè)單擊鼠標(biāo)事件

使用組件的paint函數(shù)用于繪圖, 使用MouseListener來響應(yīng)鼠標(biāo)的點(diǎn)擊

效果圖

代碼

import?java.awt.Color;

import?java.awt.Graphics;

import?java.awt.event.*;

import?javax.swing.*;

public?class?DemoWin?extends?JFrame?{

public?DemoWin()?{

MyPanel?mp?=?new?MyPanel();

mp.addMouseListener(mp);

add(mp);

//?窗口屬性設(shè)置

setTitle("Demo");//?標(biāo)題

setSize(300,?280);//?窗口大小

setLocationRelativeTo(null);//?窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);//?窗口點(diǎn)擊關(guān)閉時(shí),退出程序

}

public?static?void?main(String[]?args)?{

DemoWin?win?=?new?DemoWin();?//?創(chuàng)建窗口

win.setVisible(true);//?顯示窗口

}

class?MyPanel?extends?JPanel?implements?MouseListener?{

int?times;//?記錄點(diǎn)擊的次數(shù)

int?x;//?記錄鼠標(biāo)X軸的位置

int?y;//?記錄鼠標(biāo)Y軸的位置

@Override

public?void?paint(Graphics?g)?{

super.paint(g);

if?(times?==?0)?{

g.setColor(Color.BLUE);//?顏色

g.fillOval(150,?150,?50,?50);//?150,150代表位置?50,50代表寬高

}?else?if?(times?==?1)?{

g.setColor(Color.RED);

g.fillRect(150,?150,?50,?50);

}?else?{

g.setColor(Color.RED);

g.fillRect(x,?y,?50,?50);

}

repaint();

}

public?void?mouseClicked(MouseEvent?e)?{

//?if?(e.getButton()==MouseEvent.BUTTON1)?{//單擊左鍵時(shí)有效..

//?times++;//?記錄點(diǎn)擊的次數(shù)

//?x?=?e.getX();

//?y?=?e.getY();

//?}

}

public?void?mousePressed(MouseEvent?e)?{//?鼠標(biāo)按下就有效

times++;//?記錄點(diǎn)擊的次數(shù)

x?=?e.getX();

y?=?e.getY();

}

public?void?mouseReleased(MouseEvent?e)?{//?鼠標(biāo)釋放

}

public?void?mouseEntered(MouseEvent?e)?{//?鼠標(biāo)移入

}

public?void?mouseExited(MouseEvent?e)?{//?鼠標(biāo)移出

}

}

}

怎么用JAVA做一個(gè)鼠標(biāo)連點(diǎn)程序?

這是因?yàn)橐粍傔\(yùn)行程序就會(huì)收到一個(gè)mouseMoved消息

lz可以這么做

首先給你的窗口類添加成員變量

private int x=-99999;

private int y=-99999;

然后這樣定義事件處理

public void mouseMoved(MouseEvent ee){

if(this.x!=-99999){

int dx=x-ee.getX();

int dy=y-ee.getY();

if(Math.abs(dx)10||Math.abs(dy)10)//判斷鼠標(biāo)移動(dòng)的幅度,超過一定限度再退出,避免誤操作,lz這里可以自由調(diào)整

{

System.exit(0);

}

}

this.x=ee.getX();

this.y=ee.getY();

}

如何用JAVA編一個(gè) 鼠標(biāo)在在屏幕上移動(dòng)的 并點(diǎn)擊的 程序?

樓主提問的水平很高啊,題目的要求都沒有,如何回答。。。

相關(guān)類都在

import java.awt.*;

import javax.swing.* ;

動(dòng)作事件相關(guān)類在import java.awt.event.*;中,在代碼頭import就可以看了

給一個(gè)相關(guān)的代碼吧,包括所有的鼠標(biāo)事件。

下面代碼包括

按下,釋放,進(jìn)入?yún)^(qū)域,離開區(qū)域,點(diǎn)擊 這5個(gè)事件

鼠標(biāo)的相關(guān)事件會(huì)在窗口上方的文本區(qū)顯示。。。

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class TestMouseEvent extends JFrame implements MouseListener{

JPanel jp = new JPanel();

JTextField jtf = new JTextField();

public TestMouseEvent(){

setTitle("Mouse Event");

getContentPane().add(jtf,BorderLayout.NORTH);

getContentPane().add(jp,BorderLayout.CENTER);

jp.addMouseListener(this);

}

public static void main(String[] args){

TestMouseEvent frame = new TestMouseEvent();

frame.setSize(200,200);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void mousePressed(MouseEvent e){

int x = e.getX();

int y = e.getY();

String s = "鼠標(biāo)在坐標(biāo)"+"("+x+","+y+")"+"出按下";

jtf.setText(s);

}

public void mouseReleased(MouseEvent e){

int x = e.getX();

int y = e.getY();

String s = "鼠標(biāo)在坐標(biāo)"+"("+x+","+y+")"+"出釋放";

jtf.setText(s);

}

public void mouseClicked(MouseEvent e){

int x = e.getX();

int y = e.getY();

String s = "鼠標(biāo)在坐標(biāo)"+"("+x+","+y+")"+"出點(diǎn)擊";

jtf.setText(s);

}

public void mouseEntered(MouseEvent e){

int x = e.getX();

int y = e.getY();

String s = "鼠標(biāo)在坐標(biāo)"+"("+x+","+y+")"+"出進(jìn)入";

jtf.setText(s);

}

public void mouseExited(MouseEvent e){

int x = e.getX();

int y = e.getY();

String s = "鼠標(biāo)在坐標(biāo)"+"("+x+","+y+")"+"出離開";

jtf.setText(s);

}

}

java鼠標(biāo)點(diǎn)擊事件怎么做?

java鼠標(biāo)點(diǎn)擊事件的方法如下:

span?style="font-family:Verdana;"事件源/span.addMouseListener(new?MouseAdapter()?{//建立事件處理機(jī)制??

@Override??

public?void?mouseClicked(MouseEvent?e)?{??

if(e.getButton()==e.BUTTON1){//點(diǎn)擊鼠標(biāo)左鍵??

int?x=e.getX();??

int?y=e.getY();??

String?str="您點(diǎn)擊的是左鍵,鼠標(biāo)當(dāng)前點(diǎn)擊位置的坐標(biāo)是("?+?x?+?","?+?y+")";??

label.setText(str);??

}else?if(e.getButton()==e.BUTTON2){//點(diǎn)擊鼠標(biāo)滑輪??

int?x=e.getX();??

int?y=e.getY();??

String?str="您點(diǎn)擊的是滑輪,鼠標(biāo)當(dāng)前點(diǎn)擊位置的坐標(biāo)是("?+?x?+?","?+?y+")";??

label.setText(str);???

}??

else?if(e.getButton()==e.BUTTON3){//點(diǎn)擊鼠標(biāo)右鍵??

int?x=e.getX();??

int?y=e.getY();??

String?str="您點(diǎn)擊的是右鍵,鼠標(biāo)當(dāng)前點(diǎn)擊位置的坐標(biāo)是("?+?x?+?","?+?y+")";??

label.setText(str);???????

}??

}??

});

e.getButton()返回值分別為NOBUTTON、BUTTON1、BUTTON2、BUTTON3,分別代表著無點(diǎn)擊、左擊、中間鍵、右擊三種情況。

給Java初學(xué)者的建議:

1,不一定要把java學(xué)深入。有多少人搞程序是喜歡這個(gè)的,搞程序一半是因?yàn)殄X多,一半是因?yàn)闀x升公平。

2,初學(xué)者學(xué)java至少要脫產(chǎn)半年的時(shí)間才能算了解了,才適合被人帶,因?yàn)橹辽侔肽甑臅r(shí)間,才知道遇到問題如何解決,有的人需要更長的時(shí)間?,F(xiàn)在有很多人已經(jīng)有5年左右的經(jīng)驗(yàn)了,在他們的壓制下,java初學(xué)者很難有逆襲的機(jī)會(huì)了。

3,行業(yè)環(huán)境,現(xiàn)在數(shù)據(jù)存儲(chǔ),后臺(tái)打包的方案的創(chuàng)業(yè)公司已經(jīng)有苗頭,也就是說,后臺(tái)開發(fā)已經(jīng)被集中解決,日后會(huì)越來越成熟,這就是意味著,java招聘需要有經(jīng)驗(yàn)的人,也就是說,必須熬幾年后才能有突破。

4,java離市場較遠(yuǎn),所以呢?java開發(fā)人員很難有一個(gè)大的突破。

5,程序里面有變量所以解決了一系列類似的問題,所以注定了程序必須提供大批服務(wù)時(shí)才能有高收益。

當(dāng)前標(biāo)題:java鼠標(biāo)連點(diǎn)程序代碼 鼠標(biāo)點(diǎn)擊代碼
轉(zhuǎn)載來于:http://muchs.cn/article32/hgeosc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、搜索引擎優(yōu)化外貿(mào)建站、電子商務(wù)、App開發(fā)、標(biāo)簽優(yōu)化

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)