我正在尝试为我的 java 游戏创建分层 Pane ,在我看到的几个示例中,已经使用了 getLayeredPane,但未导入。当我尝试执行相同的操作时,我收到“找不到符号”错误,我认为这通常意味着尚未导入某些内容。我在这里做错了什么?
package game.backbone;
import game.background.Background;
import game.character.DrawCha;
import game.character.MoveCha;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JComponent;
import javax.swing.JLayeredPane;
public class Window {
private DrawCha cha;
private MoveCha move;
private JFrame frame;
private Background bg;
public static int SIZE;
public static int w, h;
public void createWindow(String title,int height) {
bg = new Background();
cha = new DrawCha();
move = new MoveCha();
frame = new JFrame();
JLayeredPane lp = new getLayeredPane();
h = height;
w = height;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(w, h);
frame.setTitle(title);
frame.setVisible(true);
frame.setFocusable(true);
frame.addKeyListener(move);
lp.add(cha, new Integer(2));
lp.add(bg, new Integer(1));
}
}
最佳答案
语句 JLayeredPane lp = new getLayeredPane();
不正确。您正在对方法调用 new。
修改JLayeredPane lp = new JLayeredPane();
public void createWindow(String title, int height) {
bg = new Background();
cha = new DrawCha();
move = new MoveCha();
frame = new JFrame();
JLayeredPane lp = new JLayeredPane();
h = height;
w = height;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addKeyListener(move);
lp.add(cha, new Integer(2));
lp.add(bg, new Integer(1));
frame.add(lp);
frame.setSize(w, h);
frame.setTitle(title);
frame.setVisible(true);
}
还要检查您的 DrawCha 和 Background 类是否扩展了 JInternalFrame。您可以有类似的东西
class DrawCha extends JInternalFrame {
public DrawCha() {
setBounds(50, 50, 100, 100);
setResizable(true);
setClosable(true);
setMaximizable(true);
setTitle("DrawCha");
setVisible(true);
}
}
关于java - 如何创建分层 Pane ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35906818/