我有一个以特定图案布置的物体网格。单击对象将触发某些操作,例如显示有关该对象的信息或导航到另一个屏幕。
每个对象也与其他对象有连接。这些连接需要是可点击的,因为单击这些连接将显示有关该连接的更多信息。
以下示例显示了我的目标。网格中的每个蓝色圆圈都是一个可点击的对象,它们之间的每条红线都是可点击的连接。
我尝试将对象和连接作为Jbuttons存储在单个网格包布局中,并且已经取得了一些成功,因为连接是可点击的。
然而,连接跨越单个方向的多个单元格,Jbuttons展开以填充布局单元格。这会导致连接的末端穿过对象的中心,并在网格袋单元的边界处完成。
以下是我的意思:
是否有一些更简单的方法来制作这种界面/以前有人这样做过吗?
答案 0 :(得分:5)
好的,非常基本,但想法是在对象之间手动绘制线条。
在这种情况下,我创建了一个简单的Connection
对象,它维护了按钮之间的关系。然后我简单地使用paintComponent
的{{1}}方法来绘制实际的线条。
我会让你设计一个更好的路径生成方法;)
JPanel