2D 地图编辑器瓷砖调色板 - 最适合 Java 要使用的元素?

2D Map Editor Tiles Palette - Best suited Java Elements to use?

我正在制作一个 2D RTS 地图编辑器,现在是时候制作一个调色板了,它只是一个弹出框,显示要单击然后应用到地图上的图块。

我想知道该调色板要使用哪些 Java 元素? 目前,我已经设置了一个 JFrame,其中将包含 Jlabels,这些 Jlabels 的图标设置为一些 ImageIcon(这是我的游戏的图块)。 (我有一个 List<ImageIcon> tiles,其中包含每个图块)

mainFrame.setLayout(new GridLayout(tiles.size() / 2, 2, 5,5));
    JLabel tilePanel;

    for (int i = 0; i < tiles.size() ; i++) {
        tilePanel = new JLabel();
        tilePanel.setIcon(tiles.get(i));
        mainFrame.add(tilePanel);
    }

这是我拥有的:

但是,我希望能够单击要选择的这些 JLabel,这样我就可以在我的主 JFrame 中使用 getSelectedTile 之类的函数将它们放置在地图上。但是为每个 JLabel 添加一个 mouseListener/Event 似乎并不正确。

我的问题是:

提前致谢!所有建议都会被考虑:)

However, I want to be able to click on these JLabels to

您将使用 JButton 而不是 JLabel。您可以使用以下方法使按钮看起来像标签:

JButton button = new JButton(...);
button.setBorderPainted( false );
button.setContentAreaFilled( false );
button.setFocusPainted( false );

然后你给按钮添加一个ActionListener来处理按钮的点击。