更改版本之后为JFrame+JPanel
效果图1:
效果图2:
/**
* @author-程前
* @version-star1.2.3
* @note-画一个*,然后通过拖动,显示拖动的痕迹,造成炫酷的效果
* */
public class Star3 {
static int x=300;
static int y=400;
public static void main(String[] args) {
//实例化画板
JFrame f=new JFrame();
//设置画板大小
f.setSize(1400,900);
//实例化画布
Mypanl m=new Mypanl();
//设置画布背景颜色为黑色
m.setBackground(Color.BLACK);
//添加鼠标拖动事件监听
m.addMouseMotionListener(m);
//将画布放到画板上
f.add(m);
//展示画板
f.setVisible(true);
}
static class Mypanl extends JPanel implements MouseMotionListener{
/*
* 重写画布的绘画方法,里面有一个画笔参数*/
public void paint(Graphics g) {
super.paint(g);
//设置画笔颜色
g.setColor(Color.WHITE);
//设置画笔大小
g.setFont(new Font(null, 0,50));
//循环花100个星星
g.drawString("*",x,y);
}
/**
* @note 鼠标点击状态下拖动
* */
public void mouseDragged(MouseEvent e) {
//下面三行代码可形成图1效果
x=e.getX()-10;
y=e.getY()+28;
repaint();
}
/**
* @note 鼠标未点击状态下拖动
* */
public void mouseMoved(MouseEvent e) {
//下面三行代码可形成图2效果
// x=e.getX()-10;
// y=e.getY()+28;
// repaint();
}
}
}
基础篇:
JAVA用画板JFrame画布Panel画笔Graphics画漫天不停的跑的星星-1
JAVA用画板JFrame画布Panel画笔Graphics画100个星星可以任意拖拽-2
升级篇:
JAVA用画板JFrame画布Panel画笔Graphics画100个星星可以任意拖拽,可以按上下左右控制字或者月亮的移动,shift控制移动字还是月亮-end版