XP系统画板的制作

XP系统画板的制作

XP系统画板的制作

下图是制作好的XP系统画板

首先先创建一个窗体,把这个窗体用边框布局分为3个部分,左边工具的布局和下边颜色的布局和中间的画布。

先用JPanel把窗体分为三个左边工具面板,下边颜色面板、中间画布面板。

然后用setPreferredSize(new Dimension(0,0));设置左边工具面板的大小和下面颜色面板的大小。

设置完大小后在把面板添加到西边方向(WEST)和南边方向(SOUTH)。

在中间的面板上添加一个画布,把画布添加到中间的面板上

用add添加把三个面板添加到窗口上到窗体上。


接下来先把左边工具面板设置一下。


左边的工具是一个个的小按钮,用ButtonGroup创建一个多斥按钮组。

JRadioButton用add的方法添加到ButtonGroup中,结合使用来实现一个单选按钮

ButtonGroup bg = new ButtonGroup();
		
JRadioButton jrb = new JRadioButton();

bg.add(jrb);

将工具的图片添加到按钮上,使用setBorder(null);将按钮上的按钮边框去除。

还要给工具按钮添加一个鼠标按下释放的鼠标监听。用来确定是使用的哪种按钮。

public class jiantingqi  implements MouseListener, MouseMotionListener {
	public Graphics gra;

	// 重载传参
	public jiantingqi(Graphics gg) {
		gra =  gg;
		bg = bg1;
	}

将按钮添加到左边工具面板,左边的流式布局会将按钮自动排列好。


接下来设置下边的颜色按钮,首先在下边面板中在添加左右两个面板,用来存储颜色按钮,


先说下右边颜色选框按钮。

颜色按钮用JButton设置就可以了。

再创建一个数组来存储颜色

Color[] color = {"颜色"}

使用接口来给颜色添加一个鼠标监听,用来确定选中的哪一种颜色。

public class colorjt implements ActionListener {
	public HBCT db;

	public colorjt(HBCT db1) {
		db = db1;
	}

还需要重写父类的方法

	public void actionPerformed(ActionEvent e) {
		// 如何知道是哪个颜色按钮触发的?
		// 获取事件源的方式来实现获取源头
		Object obj = e.getSource();
		// 把父类类型强行转为子类类型
		JButton an = (JButton) obj;
		

获取按钮颜色背景色,并且把选中的颜色添加到选中的画图工具上

		// 获取按钮背景色
		Color anbj = an.getBackground();
		// 把颜色设置到画笔上
		db.g.setColor(anbj);

使颜色按钮有凹陷的效果,使用白色和灰色两张颜色就可以做到这种效果


		an1.setBorder(new BevelBorder(0, Color.white, Color.gray));
		an2.setBorder(new BevelBorder(0, Color.white, Color.gray));

括号中的“0”是凹陷的效果,有三种,"0" 是凹陷效果,"1" 突出效果,"2"平铺效果

左边的按钮则是需要用到绝对布局


		xiazuo.setLayout(null);
		// 添加两个按钮
		JButton an1 = new JButton();
		JButton an2 = new JButton();
		an1.setBackground(Color.cyan);
		an2.setBackground(Color.gray);
		// 定位坐标
		an1.setBounds(5, 5, 15, 15);
		an2.setBounds(13, 13, 15, 15);

		xiazuo.add(an1);
		xiazuo.add(an2);


把这效果添加到按钮上就可以了,这样画板的下边面板就完成了。

这些全部完成,那么全部的画板也就完成了。

(新手写博客,不喜勿喷,谢谢。)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值