自定义布局Java Swing

时间:2012-03-05 12:42:00

标签: java swing jpanel layout-manager

我想用Java制作这样的棋盘(地图)。

enter image description here

每个小六边形都是图像。

假设我有两个Java类。帆布(大六边形)和六边形。首先是整板,我随机生成所有小六边形。这两个类都派生自JPanel。现在我有GridLayout。我该如何安排这样的布局?

3 个答案:

答案 0 :(得分:3)

为什么需要小六边形面板? 我宁愿只定义每个具有所需位置的列表(六边形列表),只需覆盖主paintComponent()的{​​{1}}方法。您可以使用此http://java-sl.com/shapes.html创建六边形。

要跟踪鼠标单击,您可以使用Shape的contains()方法。

答案 1 :(得分:3)

你可以

1)常用方式

  • 通过覆盖JPanel/JComponent绘制到paintComponent()(我认为有Image/BufferedImage/Icon/ImageIco n)

2)将Icon/ImageIcon放在JLabel

答案 2 :(得分:1)

布局管理的目的是使布局能够在组件改变其大小或窗口时自动调整。

看起来你的六边形总是大小相同,所以你真的不需要布局管理器,绝对定位六边形应该没问题。