对于我的高级项目,我正在使用Java编写游戏。它有一个正方形网格,您需要导航才能完成目标。我发现网格布局做了我需要的东西,除了我似乎无法使主要角色重叠(在顶部)上的空间。我基本上希望能够重叠图标' start'与任何其他图标,如“空”'。我还没有找到一个很好的方法来做到这一点(我认为这是新手)。我想知道这样做的方法,或者即使我不能。如果我不能这样做,我会要求您留下一个链接,以展示我可以实现目标的方式。
以下是与设置级别相关的代码中的一个小剪辑。当我尝试将主角添加到网格上的指定区域时,它只是将所有内容都推到1。
public loadWindow() throws IOException {
try{
level = new FileReader("levels/debug1.txt");
while ((type = level.read()) != -1){
if (type == 'a'){
icon = start;}
if (type == 'b'){
icon = empty;}
//Includes the rest of the if statemets
if (type == 'x'){
test = false;}
if (test == true){
JLabel spot = new JLabel(new ImageIcon(icon));
add(spot);}
}
} finally {
if (level != null){
level.close();
}
}
}
答案 0 :(得分:0)
使用JLayeredPane,您可以在JLayeredPane的不同图层(Default,Palette,Modal,PopUp,Drag)添加各种组件,如JButton,JPanel等。
要将JButton添加到'默认图层',请使用:private void btnChooseColorActionPerformed(java.awt.event.ActionEvent evt) {
Color color = JColorChooser.showDialog(getContentPane(), "Choose color", Color.yellow);
this.getContentPane().setBackground(color);
lblColorSelected.setText("Color: " + /* here I would like to append code that will display name of the color what user have selected */);
}