Java 未添加到GUI的面板

Java 未添加到GUI的面板,java,swing,user-interface,Java,Swing,User Interface,我最近开始学习Java和aam,为个人使用的角色创建表编写gui。我相信我已经让所有的后端工作正常,但是我不能在控制台之外测试它,因为我不能让GUI显示除了灰色框以外的任何东西 我有一个主类,它创建JFrame并调用其他角色类的构造函数来完成所有工作,但由于某些原因,GUI中没有显示任何内容。我没有得到任何错误或任何东西,我已经花了几个小时研究可能的解决方案,但毫无结果 我的代码: 主要方法是: public static void main(String[] args) throws IOEx

我最近开始学习Java和aam,为个人使用的角色创建表编写gui。我相信我已经让所有的后端工作正常,但是我不能在控制台之外测试它,因为我不能让GUI显示除了灰色框以外的任何东西

我有一个主类,它创建JFrame并调用其他角色类的构造函数来完成所有工作,但由于某些原因,GUI中没有显示任何内容。我没有得到任何错误或任何东西,我已经花了几个小时研究可能的解决方案,但毫无结果

我的代码: 主要方法是:

public static void main(String[] args) throws IOException
{
    JFrame main = new JFrame();
    JMenuBar menu = new MenuBar();
    JPanel character = new CreatorGUI();


    main.getContentPane().add(character);
    main.add(menu);
    main.setJMenuBar(menu);
    main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    main.setSize(10000, 10000);
    main.pack();
    main.setVisible(true);
}
创建者界面:

public CreatorGUI() throws IOException
{
    JPanel container = new JPanel();
    JPanel stats = makeStats();
    JPanel mods = makeMods();
    JPanel character = makeChar();

    container.add(mods);
    container.add(stats);   
    container.add(character);
    add(container);
}
我试图让GUI以其最基本的形式工作,以确保在我回去完善GUI之前一切都正常工作,但我遇到了麻烦


非常感谢您的帮助

最可疑的方法调用是setSize,它采用像素高度和宽度。10000的宽度和高度可能都太大了,因此您可能只能看到您试图显示的内容的一部分。将其更改为800 x 800可以让您看到新事物。

最可疑的方法调用是setSize,它采用像素高度和宽度。10000的宽度和高度可能都太大了,因此您可能只能看到您试图显示的内容的一部分。将其更改为800 x 800可能会让您看到新事物

main.getContentPane().add(character);
main.add(menu); 
main.setJMenuBar(menu);
使用
main.getContentPane().add(…)
main.add(…)
相同。即组件被添加到内容窗格中

JFrame的默认布局管理器是BorderLayout

当您不指定约束时,组件将添加到
中心
。但是,只能将单个组件添加到
中心
,因此“菜单”正在替换“字符”面板

去掉
main.add(菜单)
语句。它只应添加到菜单栏,因此您只需要使用
setJMenuBar(…)
方法

使用
main.getContentPane().add(…)
main.add(…)
相同。即组件被添加到内容窗格中

JFrame的默认布局管理器是BorderLayout

当您不指定约束时,组件将添加到
中心
。但是,只能将单个组件添加到
中心
,因此“菜单”正在替换“字符”面板

去掉
main.add(菜单)
语句。它只应添加到菜单栏,因此您只需要使用
setJMenuBar(…)
方法