图形图像编辑
1.背景准备
简单给一个背景作为画板,具体步骤在界面开发给出,现只给出代码
public void initUI() {
JFrame jf = new JFrame("图形图像编程");
jf.setSize(1000,1000);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
2.添加监听器
MouseListener:用于监听组件上鼠标的操作,包括:按住,释放,点击,鼠标的进入和退出
MouseListener是一个接口,写一个类来用于实现他
public class ShapeListener implements MouseListener {
public void mouseClicked(MouseEvent e);
public void mousePressed(MouseEvent e);
public void mouseReleased(MouseEvent e);
public void mouseEntered(MouseEvent e);
public void mouseExited(MouseEvent e);
}
3.绘制工具类–Graphics
简单使用过程
//1.在对应类中添加绘制工具
Graphics g= jf.getGraphics();
//2.在监听器里新建一个绘制工具,将其给到监听器中
sl.g=g;
//3.利用绘制工具的函数进行图像绘制
Graphics中的函数介绍
//画一条直线
drawLine(x1, y1, x2, y2);
//画一个矩形
g.drawRect(x1, y1, x2, y2);
//画一个椭圆
g.drawOval(x1, y1,x2, y2);
4.绘制
这里举例如何绘制一个矩形,其余绘制方法类似
int x1,y1,x2,y2;
//鼠标按下的时候记录下对应位置x1,y1
public void mousePressed(MouseEvent e) {
x1 = e.getX();
y1 = e.getY();
}
//鼠标松开时记录下对应位置x2,y2
public void mouseReleased(MouseEvent e) {
x2 = e.getX();
y2 = e.getY();
//比较x1,x2,y1,y2,以此为对角线绘制矩形
if(x1>x2) {
int temp_x = x1;
x1 = x2;
x2 = temp_x;
}
if(y1>y2) {
int temp_y = y1;
y1 = y2;
y2 = temp_y;
}
//绘制
g.drawRect(x1, y1, x2-x1, y2-y1);
}
结果示意: