我要做一个JAVA画图程序(画些简单的点和线,矩形和圆形),当然画的部分都比较简单,但有2个部分比较难:
1.要求能选择图形,并能对选定的图形进行拖动。
2.能够保存.....我画在一个JPanel中,请问各位大哥,怎么保存.......而且要可以打开的哦,当然矢量或者栅格随便。哪位大哥提示下,在上面两个方面的任何一个方面都可以,小弟先谢过了。
1.要求能选择图形,并能对选定的图形进行拖动。
2.能够保存.....我画在一个JPanel中,请问各位大哥,怎么保存.......而且要可以打开的哦,当然矢量或者栅格随便。哪位大哥提示下,在上面两个方面的任何一个方面都可以,小弟先谢过了。
public viod mousePressed(MouseEvent e){
····
find(e.getX(),e.getY());
}
public void mouseDragged(MouseEvent e){
//实现拖动
if(Shape!=null){
···
repaint();
}
}
public Shape find(int x,int y){
for(Line2D l:lines)
if(l.contains(x,y))
return current=l;
for(Rectangle2D r:squares)
if(r.contains(x,y))
return current=r;
······
return null;}
回复人:DelphiStudy(拿下BCD就去搞C++) ( 三级(初级)) 信誉:100 2007-05-31 12:02:52 得分:0
?
java截屏,印象里要写个动态链接库
-----------------------------------------------------------------------
不懂不要装懂,误人误己,不知道的时候,不回答比错误回答要好不知道多少 回复人:jtacm(jtacm) ( 一级(初级)) 信誉:100 2007-5-27 9:09:42 得分:0
? 请问怎么保存为Bmp?
----------------------------------------------------------------------------------- try {
BufferedImage image = new Robot().createScreenCapture(new Rectangle(10,10,100,100));
ImageIO.write(image, "jpg", new File("/tmp/output.jpg"));
} catch (AWTException e) {
e.printStackTrace();
}
将所画控件(如举行)的上下左右顶点及各边中点算出并保存在该控件对象中,然后根据这八个点在Panel中画八个小矩形,
给panel添加鼠标监听事件,根据按下鼠标时mousePressed(MouseEvent e) 鼠标的x、y坐标(e.getX()、e.getY())判断其是否在八个矩形中的任意一个,若是根据鼠标所在矩形的位置设定调整大小的类型,当鼠标拖动时mouseDragged(MouseEvent e) 根据鼠标拖动的距离以及鼠标所处矩形类型调整控件大小即可。也可以在释放鼠标时一次性调整大小。
2.如何保存
将所画控件导出成一份xml即可,大致应包含控件类型,所处坐标,长宽等基本属性,这就要看你的要求来设计了。相应的要有一个导入xml的的方法将这份xml还原为对应的数据对象,同样,对象的复杂度也由你邪恶需求确定