java学习之Swing篇(三)——简单画板的实现v1.0

画板功能实现:

1、直线、矩形、椭圆、多边形、曲线等基本图形的绘制;

2、多种颜色可选;

3、橡皮檫采用加粗画笔,另添加一键清屏功能;

4、重绘功能;

5、多边形采用两种方式自动闭合:一种鼠标双击闭合,一种为切换其它图形自动闭合;

6、采用边界布局。

图形效果:

具体代码如下:

主界面程序

package paint0701;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class PainterUI extends JPanel {
	private static final long serialVersionUID = 1L;
	private Shape[] shapeParameter = new Shape[20000];

	public void initUI() {
		// 新建窗体并命名
		JFrame jf = new JFrame("画板");
		// 设置窗体大小
		jf.setSize(1100, 700);
		// 窗体设置居中
		jf.setLocationRelativeTo(null);
		// 设置窗体关闭
		jf.setDefaultCloseOperation(3);
		// 设置窗体边界布局
		jf.setLayout(new BorderLayout());

		// 添加3个JPanel容器
		JPanel jp2 = new JPanel();
		JPanel jp3 = new JPanel();
		// 将JPanel布局到窗体中
		jf.add(this, BorderLayout.CENTER);
		jf.add(jp2, BorderLayout.WEST);
		jf.add(jp3, BorderLayout.EAST);

		// 设置jp1
		this.setPreferredSize(new Dimension(900, 700));
		this.setBackground(Color.white);

		// 创建事件监听器对象
		DrawListener dl = new DrawListener();
		// 给画布添加监听器
		this.addMouseListener(dl);
		this.addMouseMotionListener(dl);

		// 设置jp2
		jp2.setPreferredSize(new Dimension(100, 700));
		jp2.setBackground(Color.LIGHT_GRAY);
		// 设置jp3
		jp3.setPreferredSize(new Dimension(100, 700));
		jp3.setBackground(Color.LIGHT_GRAY);

		// 添加图形按钮
		String[] shapeArray = { "直线", "矩形", "椭圆", "多边形", "画笔", "橡皮檫", "清屏" };
		for (int i = 0; i < shapeArray.length; i++) {
			// 创建图形按钮
			JButton jbu1 = new JButton(shapeArray[i]);
			// 设置按钮大小
			jbu1.setPreferredSize(new Dimension(100, 40));
			// 将按钮添加到jp2容器中
			jp2.add(jbu1);
			// 给按钮注册监听器
			jbu1.addActionListener(dl);
		}

		// 设置颜色按钮
		Color[] colorArray = { Color.red, Color.pink, Color.orange, C
  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值