画板项目分为几个步骤一步步去完成
1.创建DrawBoard窗体,把窗体设置为边框布局。DrawBoard extends JFrame
BorderLayout bl = new BorderLayout();
this.setLayout(bl);
2.把窗体分为三个面板 plLeft plCtener plDown然后在相应的面板上设置颜色大小,代码框架整合让代码更容易读(plLeft、pldown、plCenter分别分类出来实现三个子类都继承JPanel)。
plLeft panelLeft = new plLeft();
plDown panelDown = new plDown();
plCenter panelCenter = new plCenter();
如果plLeft需要用到DrawBoard里面的属性,那么就需要传递DrawBoard的对象给plLeft
public class plLeft extends JPanel{
public DrawBoard db;
public plLeft(DrawBoard db ){
this.db= db;
}
}
3.结合循环把按扭图形添加到plLeft面板上
ButtonGroup bg = new ButtonGroup
for(int i=0;i<16;i++){
//1.创建按钮对象
JRadioButton jrb1 = new JRadioButton();
//2.吧按钮添加到面板上
this.add(jrb1);
//3.设置按钮命令
jrb1.setActionCommand("image"+i);
//4.吧按钮添加到按钮组中
bg.add(jrb1);
}
4.创建监听器并实现图形按钮功能
创建DrawListener类继承接口MouseListener类,DrawListener需要重写 MouseListener所有的方法。
public class DrawListener implements MouseListener{}
例如 画一条直线,
public void mousePressed(MouseEvent e) { }
public void mouseReleased(MouseEvent e) {
x2 = e.getX();
y2 = e.getY();
// 按下坐标和释放坐标两点之间画图形
if ("image10".equals(command)) {
g.drawLine(x1, y1, x2, y2);
}
}
5.画板图形重绘
重新定义一个Shapes类,将图形颜色跟坐标封装,在面板上使用paint方法进行重写