画板项目
2016-03-23 15:43
204 查看
画板项目分为几个步骤一步步去完成
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方法进行重写
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方法进行重写
相关文章推荐
- APPIUM+JAVA实现对安卓APK的自动化测试----第十五篇【参数化和对象化】
- (原创)Hibernate persistentSet的remove()方法不起作用
- PHP call_user_func
- Django的url规则
- MySQL Workbench使用及教程
- ecplise 安装 Properties Editor 插件
- struts2.2.1.1配置教程
- MFC CStatic 透明重绘 使用双缓冲
- Android 自定义属性,系统控件扩展
- 如何使用快启动清除系统开机密码
- iOS开发关于证书以及更换appid时调试发布问题
- 银联支付、支付宝支付、微信支付三大支付
- 研读:TrustOTP: Transforming Smartphones into Secure One-Time Password Tokens
- IP数据报
- 仿蘑菇街首页升级版
- C#再识委托
- maven找不到jconsole-1.8.0.jar和tools-1.8.0.jar包
- pace.js – 网页自动加载进度条插件
- Flex布局的兼容性
- OpenWrt 15.05.1“Chaos Calmer”发布 支持诸多新设备和新功能