图画板创建步骤
- 先创建一个新的函数用来装方法,创建一个主函数用来调用新函数里面的方法。
- 界面开发,创建窗体JFrame
- 创建一个鼠标监听器MouseListener:点击 按下 松开(注:五个方法必须都写,就算有用不上的可以空着但是必须同时出现。)
- 创建一个画笔Graphics
代码的主体框架
package drawpad;
import javax.swing.*;
import java.awt.*;
public class DrawPad {
//创建一个新的函数用来写方法
public void showUI(){
}
//主函数 用来调用新函数里面的方法
public static void main(String[] args) {
DrawPad drawPad=new DrawPad();
drawPad.showUI();
}
}
界面开发:
【界面开发放在showUI的函数中】
界面的属性:标题、尺寸、位置、可视化、关闭方式
JFrame jf=new JFrame();
jf.setTitle("画板1.0") ;//标题
jf.setSize(800,600);//尺寸
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭方式
jf.setLocation(500,200);//位置
jf.setVisible(true);//可视化
创建鼠标监听器(我不小心里面删了一个@Override)
package drawpad;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class DrawLister implements MouseListener{
public void mouseClicked(MouseEvent e) {
int x=e.getX();
int y=e.getY();
System.out.println("点击:x"+x +"y:"+y);
}
@Override
public void mousePressed(MouseEvent e) {
int x=e.getX();
int y=e.getY();
System.out.println("按下:x"+ x +"y:"+y);
}
@Override
public void mouseReleased(MouseEvent e) {
int x=e.getX();
int y=e.getY();
System.out.println("松开:x"+x+"y:"+y);
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
}
图像坐标点(我自己是这么写的!)
- 矩形
package drawpad; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class DrawLister implements MouseListener{ Graphics g=null;//在获得g的时候定义的变量 int x1 ,y1,x2,y2;//给x1,x2,y1,y2赋值 @Override public void mouseClicked(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("点击:x"+x +"y:"+y); } @Override public void mousePressed(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("按下:x"+ x +"y:"+y); x1=x; y1=y; } @Override public void mouseReleased(MouseEvent e) { int x=e.getX(); int y=e.getY(); x2=x; y2=y; System.out.println("松开:x"+x+"y:"+y); g.drawLine(x1,y1,x2,y1); g.drawLine(x1,y1,x1,y2); g.drawLine(x1,y2,x2,y2); g.drawLine(x2,y2,x2,y1); } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } }
2.等腰三角形
package drawpad; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class DrawLister implements MouseListener{ Graphics g=null; int x1 ,y1,x2,y2; @Override public void mouseClicked(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("点击:x"+x +"y:"+y); } @Override public void mousePressed(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("按下:x"+ x +"y:"+y); x1=x; y1=y; } @Override public void mouseReleased(MouseEvent e) { int x=e.getX(); int y=e.getY(); x2=x; y2=y; System.out.println("松开:x"+x+"y:"+y); g.drawLine((x1+x2)/2,y1,x2,y2); g.drawLine((x1+x2)/2,y1,x1,y2); g.drawLine(x1,y2,x2,y2); } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } }
3.立方体
package drawpad; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class DrawLister implements MouseListener{ Graphics g=null; int x1 ,y1,x2,y2; @Override public void mouseClicked(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("点击:x"+x +"y:"+y); } @Override public void mousePressed(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("按下:x"+ x +"y:"+y); x1=x; y1=y; } @Override public void mouseReleased(MouseEvent e) { int x=e.getX(); int y=e.getY(); x2=x; y2=y; System.out.println("松开:x"+x+"y:"+y); g.drawLine(x1,y1,x2,y1); g.drawLine(x1,y1,x1,y2); g.drawLine(x1,y2,x2,y2); g.drawLine(x2,y2,x2,y1); g.drawLine(x1*3/2,y1*3/2,x1,y1); g.drawLine(x2*3/2,y1*3/2,x2,y1); g.drawLine(x1*3/2,y2*3/2,x1,y2); g.drawLine(x2*3/2,y2*3/2,x2,y2); g.drawLine(x1*3/2,y1*3/2,x2*3/2,y1*3/2); g.drawLine(x1*3/2,y1*3/2,x1*3/2,y2*3/2); g.drawLine(x1*3/2,y2*3/2,x2*3/2,y2*3/2); g.drawLine(x2*3/2,y2*3/2,x2*3/2,y1*3/2); } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } }
4.五角星
package drawpad; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class DrawLister implements MouseListener{ Graphics g=null; int x1 ,y1,x2,y2; @Override public void mouseClicked(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("点击:x"+x +"y:"+y); } @Override public void mousePressed(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("按下:x"+ x +"y:"+y); x1=x; y1=y; } @Override public void mouseReleased(MouseEvent e) { int x=e.getX(); int y=e.getY(); x2=x; y2=y; System.out.println("松开:x"+x+"y:"+y); g.drawLine(x1,y2,x2,(y1+y2)/2); g.drawLine(x1,y2,(x1+x2)/2,y1); g.drawLine(x2,y2,x1,(y1+y2)/2); g.drawLine(x2,y2,(x1+x2)/2,y1); g.drawLine(x1,(y1+y2)/2,x2,(y1+y2)/2); } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } }
5.小白旗(注:只用鼠标点击一下即可不要拖拽不然就不是小白旗了!!!!!)
package drawpad; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class DrawLister implements MouseListener{ Graphics g=null; int x1 ,y1,x2,y2; @Override public void mouseClicked(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("点击:x"+x +"y:"+y); } @Override public void mousePressed(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("按下:x"+ x +"y:"+y); x1=x; y1=y; } @Override public void mouseReleased(MouseEvent e) { int x=e.getX(); int y=e.getY(); x2=x; y2=y; System.out.println("松开:x"+x+"y:"+y); g.drawLine(x1,(y1+y2)*1/3,(x1+x2)/2,y1); g.drawLine(x1,(y1+y2)*1/3,(x1+x2)/3,y2); g.drawLine((x1+x2)/2,y1,(x1+x2)/3,y2); g.drawLine(x1,(y1+y2)*2/3,(x1+x2)/2,y2); g.drawLine(x1,(y1+y2)*2/3,x2,(y1+y2)*2/3); g.drawLine((x1+x2)/2,y2,x2,(y1+y2)*2/3); } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } }