java将JPanel对象添加到单独的JPanel中
我正在处理一个菜单,我想使它尽可能面向对象,所以我为菜单JPanel对象创建了一个单独的类。问题是它不想将它添加到我的主JPanel中。我做错了什么?我应该如何修复它
主类:
package StackOverflow;
import java.awt.CardLayout;
import javax.swing.*;
public class Main {
private JFrame frame = new JFrame();
private JPanel MainPanel = new JPanel();
private CardLayout cl = new CardLayout();
private GamePanel gp = new GamePanel();
public Main(){
frame.setLocation(100, 100);
frame.setSize(1200, 700);
frame.setTitle("Rain | Pre-Alpha");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MainPanel.setLayout(cl);
MainPanel.add(gp, "1");
frame.add(MainPanel);
cl.show(MainPanel, "1");
frame.setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}
游戏面板类:
package StackOverflow;
import java.awt.Color;
import javax.swing.JPanel;
public class GamePanel {
private JPanel GamePanel = new JPanel();
public GamePanel(){
GamePanel.setBackground(Color.green);
}
}
# 1 楼答案
无法将类添加到
JFrame
,JFrame接受Component
:所以你有很多方法来解决你的问题:
选择1
改为扩展
JPanel
:选择2
您可以使用getter和setter:
您可以这样添加您的JPanel: