`
closer鑫
  • 浏览: 2082 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

Xp版画图板雏形小程序开发

阅读更多
Xp版画图板雏形小程序开发技术博客(一)


    经过了寒假十几天的学习,我完成了来蓝杰的第一个项目——xp画图板。虽然还有很多的地方需要提高,但是我想和大家一起分享下我的经验和收获。
    由于是第一次接触java编程,在做画图板小程序的时,自己看着屏幕脑袋里空空如也,不知道该干些什么。这能看着老师的代码一行一行的copy。 将代码码过几遍之后才有了一些思路。比如我们在做画图板的时候会参考着winxp的画图板,画图板的主界面可以分为三大部分:工具栏,颜色栏,画板。所以我们就会在DrawFrame类里面创建三个Panel:drawPanel,colorPanel,toolPanel,然后我们会新建三个类,相对应实现这三个模板 ,然后根据画图板功能的需求在drawPanel上面添加监听器,在colorPanel上面添加监听器,再新建两个类来实现监听器的方法。这样,整体的思路就被理清了。
    在进行画图板小程序编写的过程中,我有了这样一种感悟:在编程的时候往往都是一层一层的来进行的。比如我们在实现工具栏面板的时候会新建toolPanel,然后在toolPanel上面添加JRadioButton,然后在对这个JRadioButton进行设置,比如在按钮上面添加图片,设置按钮大小等等。这样,我们拿到一个项目,先分析它的需求,然后在脑海中建立起一个个小的树形模型,然后一层层,一部分一部分的去实现它,会比我们上来就去做要靠谱的多。
    嗯,接下来我把我认为在画图板小程序中比较重要的代码贴出来,希望各位高手不吝赐教,指出我的不足,我会努力改进的。

画图板主要界面的设置编译:
public void init(){
//设置窗体的属性
this.setTitle("画图板————张鑫");
this.setSize(800, 600);
    this.setBackground(Color.WHITE);
    this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(3);
   

    /*
     * 窗体课分为3个部分,center是画图面板,west是工具栏,south是颜色栏。
     */

    //画图面板,设置面板的属性
    javax.swing.JPanel drawPanel=new javax.swing.JPanel();
    drawPanel.setBackground(Color.WHITE);
    drawPanel.setPreferredSize(new Dimension(600,400));
    drawPanel.setLayout(new FlowLayout());
   
   
    //设置颜色栏面板
    ColorPanel colorPanel=new ColorPanel();
    colorPanel.setBackground(Color.LIGHT_GRAY);
    colorPanel.setPreferredSize(new Dimension(800,100));
    colorPanel.setLayout(new FlowLayout());
   
    //设置工具栏面板
    ToolPanel toolPanel=new ToolPanel();
    toolPanel.setBackground(Color.LIGHT_GRAY);
    toolPanel.setPreferredSize(new Dimension(100,500));
    toolPanel.setLayout(new FlowLayout());
   
   
    //给窗体添加三个面板
    this.add(drawPanel,BorderLayout.CENTER);
    this.add(toolPanel,BorderLayout.WEST);
    this.add(colorPanel,BorderLayout.SOUTH);





这里是我认为比较重要的地方,就是要先设置窗体的可见然后再获取画图的权限
     //设置窗体可见
    this.setVisible(true);
    /*
     * 这里是最最重要的
     */
    //设置画图面板获取画图权限
    Graphics g=drawPanel.getGraphics();
   
    //创建画图面板的监听器对象
    DrawListener dl=new DrawListener(g);
   
    //给drawPanel添加鼠标监听器
    drawPanel.addMouseListener(dl);






由于要调用系统中自带的getsource()方法,所以就要将JButton类强制转化为object类
public  static  Color color =java.awt.Color.black;     

public void actionPerformed(ActionEvent e) {
  //思路:要获取按钮的事件源:调用java中自带的 object 类中的getSource方法
Object ob =e.getSource();
//将JButton 类强制转化为 object类
JButton button=(JButton)ob;
//获得背景颜色
color=button.getBackground();




实现DrawListener 中的方法,在画布上面进行画画。
public DrawListener(Graphics g) {
this.g = g;
}

public void mousePressed(MouseEvent e) {

// 每次绘制之前先确认颜色
color = ColorListener.color;
// 在这里画直线
g.setColor(color);

//每次绘制之前要确认要绘制的形状
//(得到按钮组中呗选中按钮的动作命令)
type = ToolPanel.buttongroup.getSelection().getActionCommand();
// 得到鼠标按下时候光标的坐标
x1 = e.getX();
y1 = e.getY();

}

public void mouseReleased(MouseEvent e) {
// 得到鼠标释放时候光标的坐标
x2 = e.getX();
y2 = e.getY();

if (type.equals("10")) {
g.drawLine(x1, y1, x2, y2);
} else if (type.equals("12")) {
g.drawRect(x1, y1, x2, y2);
}else if(type.equals("14")){
g.drawOval(x1, y1, x2, y2);
}else if(type.equals("11")){
g.drawArc(x1, y1, x1, y2, x2, y1);

}     
分享到:
评论

相关推荐

    CAXA电子图板2007二次开发小程序

    在标题提到的“CAXA电子图板2007二次开发小程序”中,我们可以看出这是一款基于CAXA电子图板2007进行定制化开发的应用程序,旨在提高用户在设计皮带轮、齿轮等机械零部件时的效率和精度。 二次开发是指在原有软件的...

    2015良心系列_JAVA版画图板程序源码

    "2015良心系列_JAVA版画图板程序源码"就是一个很好的示例,它展示了如何利用Java来构建一个简单的图形用户界面(GUI)应用程序,让学生和开发者了解事件处理、图形绘制以及面向对象编程的基本概念。 这个画图板程序...

    Caxa电子图板 Crx二次开发指南203页.pdf

    标题和描述中提到的知识点主要围绕CAXA电子图板ObjectCRX的二次开发。ObjectCRX是CAXA电子图板中的一个开发工具包,通过该工具包可以对CAXA CAD软件进行定制和扩展功能。该指南文档主要面向初学者,旨在帮助他们建立...

    CAXA二次开发小程序的安装与应用.pdf

    安装完毕后,会在CAXA电子图板的菜单栏中新增“二次开发小程序”和“自定义命令”两个菜单项,这表明用户可以通过这些新添加的功能进行更加深入的操作。 文档还详细介绍了几个具体的应用实例,分别从以下几个方面...

    java编写的绘图板小程序

    Java编写的绘图板小程序是一款基于Java编程语言开发的简易画板应用,它提供了一系列丰富的绘图功能,如撤销、恢复、调色板选色、保存图像为BMP格式以及打开BMP图像等。这款程序的亮点在于采用了双缓冲技术,有效解决...

    CAXA电子图板实用绘图及二次开发

    《CAXA电子图板实用绘图及二次开发》是一本深入探讨CAXA电子图板在实际应用和扩展开发中的技术书籍。CAXA电子图板是一款在中国广泛应用的计算机辅助设计(CAD)软件,主要用于二维工程绘图。通过学习本书,读者可以...

    CAXA电子图板实用绘图及二次开发.rar

    在“CAXA电子图板二次开发”上,我们可以了解以下内容: 1. **VBA编程**:CAXA电子图板支持VBA(Visual Basic for Applications)编程,用户可以通过编写宏来自动化一些重复性的绘图任务,或者开发定制化的插件。 ...

    基于Qt的绘图板程序的设计与实现

    1、基于Qt技术,设计并实现一个绘图板程序,该程序的功能类似于Windows操作系统中的画图程序; 2、绘图板程序是图形用户界面,需要添加菜单、按钮、工具栏等GUI组件。 1、基于Qt技术,设计并实现一个绘图板程序,该...

    VB绘图板程序

    **VB绘图板程序**是基于Visual Basic (VB) 编程环境开发的一款应用程序,它主要用于教学和实践,特别是作为**课程设计**的一部分。VB,全称Visual Basic,是Microsoft公司推出的一种面向对象的、事件驱动的编程语言...

    仿画图板小程序 C#

    在本文中,我们将深入探讨如何使用C#编程语言创建一个仿画图板小程序,这个小程序允许用户设置画笔的宽度和颜色,以实现基本的绘图功能。C#是一种广泛应用于Windows应用程序开发的面向对象的编程语言,尤其适用于...

    Java实现的绘图板程序

    Java实现的绘图板程序是一种基于Java编程语言的交互式图形应用程序,主要用于提供一个平台让用户可以进行简单的绘画操作。这个程序通常包含多个关键组件和功能,使得用户能够绘制图形、选择颜色、改变画笔粗细,以及...

    c++写的绘图板程序

    标题 "c++写的绘图板程序" 描述的是一个用C++编程语言实现的图形用户界面应用程序,它具有类似于传统绘图板的功能。这个程序允许用户进行自由绘画,并且能够调整画笔的颜色和大小,以满足不同的创作需求。此外,它还...

    绘图板程序设计

    Java作为一种广泛使用的跨平台编程语言,拥有丰富的图形用户界面(GUI)库,如JavaFX和Swing,使得开发此类应用程序变得相对容易。 首先,我们要理解JavaFX和Swing这两个库在绘图板设计中的作用。JavaFX是Oracle...

    基于C语言开发的绘图板系统完整源码

    基于C语言开发的绘图板系统完整源码 基于C语言开发的绘图板系统完整源码 基于C语言开发的绘图板系统完整源码 基于C语言开发的绘图板系统完整源码 基于C语言开发的绘图板系统完整源码 基于C语言开发的绘图板系统完整...

    友基漫影850绘图板驱动程序

    友基漫影850是由友基推出的一款绘图板,这款绘图板外观时尚小巧,操作方便,可以应用于各种绘图的输入操作,小编提供的友基漫影850驱动支持win7/xp/vista等操作系统,安装后就可以连接电脑使用了。 友基漫影

    绘图板C#源程序

    C#是一种面向对象的、类型安全的编程语言,被广泛应用于Windows桌面应用开发,尤其是通过.NET框架。本项目的核心目标是实现一个用户可以自由绘制图形,如直线、矩形和圆形,并能自定义颜色和线条粗细的界面。 首先...

    Qt绘图板(画图)程序

    我们小组做的绘图板程序,实现老师要求的功能外增加了许多自己的创意。 我们小组做的绘图板程序,实现老师要求的功能外增加了许多自己的创意。 我们小组做的绘图板程序,实现老师要求的功能外增加了许多自己的创意...

    java 绘图板简易程序

    在Java编程语言中,开发一个简易的绘图板是一个典型的图形用户界面(GUI)应用程序的实践。这个程序可能使用了Java的Swing或JavaFX库来实现,这两个库提供了丰富的组件和工具,使得开发者能够创建出具有交互性的图形...

    基于MFC类编程的绘图板程序

    MFC 是微软提供的一种C++类库,它简化了Windows应用程序的开发,使开发者能够更高效地利用Windows API。 MFC 的核心在于它对Windows API 的封装,提供了丰富的类来表示Windows对象,如窗口、菜单、对话框、控件等。...

Global site tag (gtag.js) - Google Analytics