如何做一个简单的画图板出来

       通过前面的学习,能轻松的写一个界面出来。做画图板也是这样,首先要写一个界面出来。然后往界面上加你需要的东西,首先最起码具备 一些简单的功能。比如可以画圆矩形直线等,还要有颜色。然后怎样排版,比如可以把工具栏都放一起。有了这些思路,就可以入手了。

      先写界面,在放置元素组件前,要创建并给窗体加上布局管理器,根据你的要求,可以设置流式布局或空布局。设置界面的大小setSize,窗 体关闭时程序退出setDefautCloseOperation,然后添加需要的元素,颜按钮(用一个for循环装起来),还有图形按钮(多的话用数组装)。 这些一定要写在窗体显示之前!!!!!此时要写一个主函数(public ststic void main(){})main方法中调用,传入对象。这样很简单的一 个界面就写出来了。

       添加的按钮要让它有反应就要加监听器,点击颜色按钮和图形按钮是要加动作监听器,而图形按钮中的图形是要用鼠标拖动所以要添加鼠标监 听。最好是只用一个监听器让它去实现动作监听器和鼠标监听器接口。这样调用参数的时候就不会乱,很多种对象的时候只需要进行判断一下就可 以了。最重要的是函数调用!前面写的界面还有按钮等,怎么让它与后面的监听器结合呢?可以通过构造器实现,有构造方法public+类名(){}; ()里面写要调用的参数和参数名,用到的参数参数名一定是先定义下面才能调用。{}里面写this关键字。格式:this.参数名=参数名;而this就 指的是前面创建的对象。this的指代要具体问题具体分析。然后就是写鼠标监听器里面的图形,直线矩形圆和橡皮等的方法。然后想让画板关掉之 后还会再显示出来就用到了重绘!重绘要重写里面的方法。基本的写画图板的思路就是这样,一个简单的画图板就这样写出来了。里面涉及很多方法 的调用和画图形的方法等。具体画图形的代码如下:

 

     if(str.equals("直线")){
			g.drawLine(x1,y1,x2,y2);        
			
			Shapes shape=new Shapes();
			
			shape.x=x;
			shape.y=y;
			shape.x1=x1;
			shape.y1=y1;
			
			shape.style="直线";
			
			q.add(shape);
			
		}
		
		if(str.equals("圆")){
       Shapes shape=new Shapes();
			
			shape.x=x;
			shape.y=y;
			shape.x1=x1;
			shape.y1=y1;
			
			shape.style="圆";
			
			q.add(shape);
			
			g.drawOval(Math.min(x1,x2),Math.min(y1, y2),Math.abs(y2-y1),Math.abs(y2-y1));
 		}  
		
		if(str.equals("矩形")){
        Shapes shape=new Shapes();
			
			shape.x=x;
			shape.y=y;
			shape.x1=x1;
			shape.y1=y1;
			
			shape.style="矩形";
			
			q.add(shape);
		
			g.draw3DRect(Math.min(x1,x2),Math.min(y1, y2),Math.abs(y2-y1),Math.abs(y2-y1),true) ;
		}

	}

猜你喜欢

转载自627648914.iteye.com/blog/2106059