基本上,正如标题所说,我在解决如何添加将JPanel扩展到JFrame的类时遇到了一些问题。
我已经在这里和其他论坛上看过了,但我尝试过的答案都没有。
我还有3个单独的文件,我的main.java是我的frame.java和panel.java(为方便起见,缩写) 显然,将公共课程放在不同的文件(?)中是一种很好的做法,所以我被告知了! 我非常感谢有关如何将JPanel实际添加到JFrame的任何帮助,甚至只是我可能没有看到的一些文档的链接。此外,我还要接受任何人对我输入/编排代码的方式的任何建设性批评。
谢谢!
main.java
public class MyGuiAttempt {
public static void main(String[] args) {
new mainFrame();
}
}
frame.java
public class mainFrame extends JFrame {
public mainFrame() {
setVisible(true);
setTitle("My Game");
setSize(800, 600);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(mainScreenMenu); //This is where I'm clearly going wrong.
}
}
panel.java
public class mainScreenMenu extends JPanel {
public mainScreenMenu() {
JLabel homeMenuBackground = new JLabel(new ImageIcon("images/my_image.jpg"));
setPreferredSize(new Dimension(800,600));
add(homeMenuBackground);
setVisible(true);
}
}
答案 0 :(得分:3)
您需要创建班级的新实例
add(new mainScreenMenu());
答案 1 :(得分:2)
您混淆类和对象。 JFrame
,JPanel
和mainScreenMenu
(应该命名为MainScreenMenu
)是类。要拥有一个具体的框架,您需要创建一个JFrame类型的对象。要拥有MainScreenMenu类型的具体面板,您需要创建MainScreenMenu类型的对象:
MainScreenMenu theMenu = new MainScreenMenu();
add(theMenu);