博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
鼠标监听事件及画笔(AWT)
阅读量:217 次
发布时间:2019-02-28

本文共 1965 字,大约阅读时间需要 6 分钟。

1、画笔

  • Paint
import java.awt.*;public class TestPain {
public static void main(String[] args) {
new MyPain().loadFrame(); }}class MyPain extends Frame{
public void loadFrame(){
setBounds(100,100,500,500); setVisible(true); } @Override public void paint(Graphics g) {
//画笔需要有颜色,需要画画 g.setColor(Color.CYAN); //g.drawOval(100,100,100,100); g.fillOval(100,100,100,100); g.setColor(Color.magenta); g.fillRect(200,150,100,100); //养成习惯,画笔用完要把他设置为最初的颜色 }}

2、鼠标监听:

  • 目的:想要实现鼠标画画
  • MouseListener

思路

在这里插入图片描述

package com.GUI.Lession03;import java.awt.*;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.ArrayList;import java.util.Iterator;public class TestMouseListener {
public static void main(String[] args) {
new MyFrame(); }}class MyFrame extends Frame{
//画画笔的时候需要监听当前位置,用集合来存储这个点 ArrayList points; public MyFrame (){
setBounds(100,100,400,400); setVisible(true); //存鼠标的点 points = new ArrayList<>(); //添加鼠标监听 this.addMouseListener(new MyMouseListener()); } @Override public void paint(Graphics g) {
//画画,监听鼠标事件 Iterator iterator = points.iterator(); while (iterator.hasNext()){
Point point = (Point) iterator.next(); g.setColor(Color.magenta); g.fillOval(point.x,point.y,10,10); } } public void addPoints(Point point){
points.add(point); } //鼠标监听 private class MyMouseListener extends MouseAdapter{
//鼠标 按下 弹起 按住不放。 @Override public void mousePressed(MouseEvent e) {
MyFrame myFrame = (MyFrame) e.getSource(); //获取资源对象的。 //这个时候我们点击桌面就会产生一个点 //这个点就是鼠标的点 myFrame.addPoints(new Point(e.getX(),e.getY())); //每次点击鼠标都要刷新一遍 myFrame.repaint(); } }}

转载地址:http://xgzs.baihongyu.com/

你可能感兴趣的文章