本文共 1965 字,大约阅读时间需要 6 分钟。
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); //养成习惯,画笔用完要把他设置为最初的颜色 }}
思路
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/