一个JavaFX图形化控件/图形设计助手 类似于SceneBuilder的ShapeBuilder -JavaFX Tools

Drawing Object 对象画板

GitHub传送门

用途及背景

 在做Java图形化的时候,尤其是做一些小游戏/控件之类的时候,开发者往往需要一边调试参数,一边运行程序看效果是否达到了预期。而目前市面上应用最广的SceneBuilder也有其局限性,在做界面的时候的确可以带来便利,而去抠细节的时候也会非常麻烦。而这个项目对象画板就是为了避免这种小巧控件设计/游戏人物绘制/时间轴动画反复调参而产生的。 对象画板利用Java原生几何图形格式(例如:Line/Ellipse/Rectangle)这些非常熟悉的shape,来最终构造出一个几何图形的集合,最终反回到开发者手上一个Group类对象。你不光可以用它设计图形,也可以用它来加载你通过Java写出的Group到画板上,让你可以做出一些修改/美化,当然最简单的将其保存为图片也不是问题。

使用说明

绘图

  • 图形绘制
    • 线段:
      简单地拖动以画出线段。
    • 曲线:
      贝塞尔曲线,拖拽以画出一条直线,继续点击或拖拽来绘制剩余两个控制点,
      如需继续调整则继续点击,鼠标右键来停止绘制。
    • 椭圆:
      简单拖拽以绘制,按住shift以绘制正圆。
    • 矩形:
      简单拖拽以绘制,按住shift以绘制正方形。
    • 多边形:
      点击或拖拽画出第一条边,其后再绘制点击或拖拽添加边,鼠标右键来停止绘制并自动首尾相连。
    • 选择:
      框选或单击选择(左键)。
    • 拖动:
      右键按住选择图形进行拖动。
    • 橡皮:
      点击或拖拽到图形来完成擦除。
    • 删除:
      选中要删除的一个或多个图形,按下Delete删除,或者再内置的Command Bar中键入delete。
    • 颜色选择器:
      选择下一个绘制图形的颜色。绘制图形之后也可以进行颜色的更改,但需要选中图形,在其属性栏中更改属性。
    • 笔触宽度:
      输入一个正实数,控制下一个图形的边框宽度。
  • 图形属性更改:
    • 通过选择某一个或几个节点来使右侧属性栏显示属性,并输入相应的值使其改变。
    • 也可以通过内置的command bar(位于界面的底部),输入find命令(格式:find [serialNumber]), serial number即所寻找的图形在group中的图层(getChildren()的list中的索引)。
      e.g. find 0(相对应的右侧属性栏会显示图层0中的图形属性)
    • 图层更改通过在command bar中键入change [fromSerialNum] [toSerialNum]
      e.g. change 0 1 (将图层0图形插入到图层1)
其他command bar命令

除上述find 和 change外还有 create 和 delete 语法分别为 create [Type](e.g. create line)和delete [serialNum],
如果当前已选中某个或多个图形, 可直接键入delete将选中元素全部删除

保存和导出

  • 保存
    保存采用的文件格式为文本格式,可直接用文本编辑器打开,并进行修改,记录了图形在group中的顺序和各个图形一些关键属性,
    将制作好的图形组合保存为该格式即可。
  • 导出
    导出图形为图片格式(包括但不限于png/jpg等格式)

以gsdl格式导入至你的JavaFX程序中

  • 通过导入本项目的jar包,调用gsdl包下DefaultDeserializer类
    例如:
private class Test
{
   
    public static void main(String[] args)
    {
   
        Deserializer deserializer = new DefaultDeserializer(file
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值