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 似乎并不正确。
我的问题是:
我走对了吗?如果是这样,应该如何听我的 JLabels 来知道选择了哪个图块。
如果这不是正确的方法,我应该使用什么?
提前致谢!所有建议都会被考虑:)
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
来处理按钮的点击。
我正在制作一个 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 似乎并不正确。
我的问题是:
我走对了吗?如果是这样,应该如何听我的 JLabels 来知道选择了哪个图块。
如果这不是正确的方法,我应该使用什么?
提前致谢!所有建议都会被考虑:)
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
来处理按钮的点击。