
正文
鼠标当笔java代码 java鼠标画线
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
实现鼠标画图的Java程序
import java awt Color;
import java awt Frame;
import java awt Graphics;
import java awt Point;
import java awt event MouseAdapter;
import java awt event MouseEvent;
import java awt event MouseListener;
import java util ArrayList;
import java util Iterator;
public class MyMouseAdapter {
public static void main(String[] args) {
new MyFrame ( drawing );
}
}
class MyFrame extends Frame{
ArrayList points=null;
MyFrame (String s){
super(s);
points=new ArrayList();
setLayout(null);
setBounds( );
this setBackground(new Color( ));
setVisible(true);
this addMouseListener(new Monitor ());
}
public void paint(Graphics g){
Iterator i=erator();
while(i hasNext()){
Point p=(Point)i next();
g setColor(Color blue);
g fillOval(p x p y );
}
}
public void addPoint(Point p){
points add(p);
}
}
class Monitor extends MouseAdapter{ //MouseAdapter实现鼠标当笔java代码了MouseListener接口
public void mousePressed(MouseEvent e){
MyFrame f=(MyFrame )e getSource();
f addPoint(new Point(e getX() e getY()));
f repaint(); //让Frame强制经行重画
}
lishixinzhi/Article/program/Java/hx/201311/26376
相关问答
Q1: 关于Java中鼠标事件处理的问题,我的代码
你这样不行啊鼠标当笔java代码,一闪一闪的根本看不到显示效果或者更本没有显示,绘图的方法要写在paintComponent(Graphics g)里面才能长久保存。
我知道你想在mouseClicked里面做什么,但是在这里进行绘图,repaint没有立即被执行,所以有可能没有任何显示鼠标当笔java代码;如果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();
}
}
Q2: 如何用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);
}
}
Q3: 怎么写一段java代码,实现一个操作鼠标的功能,当我按下快捷键时,鼠标自动在设定好的屏幕的某个位置单击
楼主鼠标当笔java代码,请看 java.awt.Robot 这个类,有你所需要鼠标当笔java代码的。
void
mouseMove(int x,
int y)
将鼠标指针移动到给定屏幕坐标。
void
mousePress(int buttons)
按下一个或多个鼠标按钮。
鼠标当笔java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java鼠标画线、鼠标当笔java代码的信息别忘了在本站进行查找喔。






