java中鼠标操作代码,java控制鼠标点击

Java 点击鼠标拖动某一个点代码

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添加的鼠标事件,移动的是按钮。。。

关于Java中鼠标事件处理的问题,我的代码

你这样不行啊,一闪一闪的根本看不到显示效果或者更本没有显示,绘图的方法要写在paintComponent(Graphics g)里面才能长久保存。

我知道你想在mouseClicked里面做什么,但是在这里进行绘图,repaint没有立即被执行,所以有可能没有任何显示;如果repaint执行了,也很有可能立刻被后面的绘图所覆盖。最好的办法是在这里出发一个标志,然后调用repaint函数,在paintComponent函数中对这个标志进行绘制,决定到底该怎么画。

手写了一段代码,没有编译,你可以参考一下:

package colin;

import java.awt.event.*;

import javax.swing.*;

import java.awt.*;

public class JXFrame extends JFrame

{

boolean mouseCliked = false;

int x,y;

public void paintComponent(Graphics g)

{

if(mouseCliked )

{

g.setColor(255,255,0);//必须有这一步,否则画笔颜色为默认背景色,是根本看不出任何线条效果的。

g.drawLine(0,0,x,y);

}

}

public void setPoint(int x,int y)

{

this.x = x;

this.y = y;

}

}

package colin;

import java.awt.*;

import javax.swing.*;

class frame{

frame(){

JXFrame f = new JXFrame();

f.addMouseListener(new Mouseevent(f));

f.setSize(500,600);

f.setVisible(true);

}

public static void main(String args[]){

new frame();

}

}

package colin;

import java.awt.event.*;

import javax.swing.*;

import java.awt.*;

public class Mouseevent implements MouseListener{

JXFrame parent;

public Mouseevnt(JXFrame parent){

this.parent = parent;

}

public void mousePressed(MouseEvent e){

}

public void mouseReleased(MouseEvent e){

this.parent.mouseCliked = false;

}

public void mouseEntered(MouseEvent e){

this.parent.mouseCliked = false;

}

public void mouseExited(MouseEvent e){

this.parent.mouseCliked = false;

}

public void mouseClicked(MouseEvent e){

this.parent.setPoint(e.getX(),e.getY());

this.parent.mouseCliked = true;

this.parent.repaint();

}

}

如何用JAVA编一个 鼠标在在屏幕上移动的 并点击的 程序?

楼主提问的水平很高啊,题目的要求都没有,如何回答。。。

相关类都在

import java.awt.*;

import javax.swing.* ;

动作事件相关类在import java.awt.event.*;中,在代码头import就可以看了

给一个相关的代码吧,包括所有的鼠标事件。

下面代码包括

按下,释放,进入区域,离开区域,点击 这5个事件

鼠标的相关事件会在窗口上方的文本区显示。。。

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 = "鼠标在坐标"+"("+x+","+y+")"+"出按下";

jtf.setText(s);

}

public void mouseReleased(MouseEvent e){

int x = e.getX();

int y = e.getY();

String s = "鼠标在坐标"+"("+x+","+y+")"+"出释放";

jtf.setText(s);

}

public void mouseClicked(MouseEvent e){

int x = e.getX();

int y = e.getY();

String s = "鼠标在坐标"+"("+x+","+y+")"+"出点击";

jtf.setText(s);

}

public void mouseEntered(MouseEvent e){

int x = e.getX();

int y = e.getY();

String s = "鼠标在坐标"+"("+x+","+y+")"+"出进入";

jtf.setText(s);

}

public void mouseExited(MouseEvent e){

int x = e.getX();

int y = e.getY();

String s = "鼠标在坐标"+"("+x+","+y+")"+"出离开";

jtf.setText(s);

}

}

用java写一个单击鼠标事件

使用组件的paint函数用于绘图, 使用MouseListener来响应鼠标的点击

效果图

代码

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

// 窗口属性设置

setTitle("Demo");// 标题

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

setLocationRelativeTo(null);// 窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口点击关闭时,退出程序

}

public static void main(String[] args) {

DemoWin win = new DemoWin(); // 创建窗口

win.setVisible(true);// 显示窗口

}

class MyPanel extends JPanel implements MouseListener {

int times;// 记录点击的次数

int x;// 记录鼠标X轴的位置

int y;// 记录鼠标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) {//单击左键时有效..

// times++;// 记录点击的次数

// x = e.getX();

// y = e.getY();

// }

}

public void mousePressed(MouseEvent e) {// 鼠标按下就有效

times++;// 记录点击的次数

x = e.getX();

y = e.getY();

}

public void mouseReleased(MouseEvent e) {// 鼠标释放

}

public void mouseEntered(MouseEvent e) {// 鼠标移入

}

public void mouseExited(MouseEvent e) {// 鼠标移出

}

}

}

java鼠标点击事件怎么做?

java鼠标点击事件的方法如下:

span style="font-family:Verdana;"事件源/span.addMouseListener(new MouseAdapter() {//建立事件处理机制  

@Override  

public void mouseClicked(MouseEvent e) {  

if(e.getButton()==e.BUTTON1){//点击鼠标左键  

int x=e.getX();  

int y=e.getY();  

String str="您点击的是左键,鼠标当前点击位置的坐标是(" + x + "," + y+")";  

label.setText(str);  

}else if(e.getButton()==e.BUTTON2){//点击鼠标滑轮  

int x=e.getX();  

int y=e.getY();  

String str="您点击的是滑轮,鼠标当前点击位置的坐标是(" + x + "," + y+")";  

label.setText(str);   

}  

else if(e.getButton()==e.BUTTON3){//点击鼠标右键  

int x=e.getX();  

int y=e.getY();  

String str="您点击的是右键,鼠标当前点击位置的坐标是(" + x + "," + y+")";  

label.setText(str);       

}  

}  

});

e.getButton()返回值分别为NOBUTTON、BUTTON1、BUTTON2、BUTTON3,分别代表着无点击、左击、中间键、右击三种情况。

给Java初学者的建议:

1,不一定要把java学深入。有多少人搞程序是喜欢这个的,搞程序一半是因为钱多,一半是因为晋升公平。

2,初学者学java至少要脱产半年的时间才能算了解了,才适合被人带,因为至少半年的时间,才知道遇到问题如何解决,有的人需要更长的时间。现在有很多人已经有5年左右的经验了,在他们的压制下,java初学者很难有逆袭的机会了。

3,行业环境,现在数据存储,后台打包的方案的创业公司已经有苗头,也就是说,后台开发已经被集中解决,日后会越来越成熟,这就是意味着,java招聘需要有经验的人,也就是说,必须熬几年后才能有突破。

4,java离市场较远,所以呢?java开发人员很难有一个大的突破。

5,程序里面有变量所以解决了一系列类似的问题,所以注定了程序必须提供大批服务时才能有高收益。


本文题目:java中鼠标操作代码,java控制鼠标点击
分享链接:http://csdahua.cn/article/hcdcss.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流