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);
把这效果添加到按钮上就可以了,这样画板的下边面板就完成了。
这些全部完成,那么全部的画板也就完成了。
(新手写博客,不喜勿喷,谢谢。)