Java 未添加到GUI的面板
我最近开始学习Java和aam,为个人使用的角色创建表编写gui。我相信我已经让所有的后端工作正常,但是我不能在控制台之外测试它,因为我不能让GUI显示除了灰色框以外的任何东西 我有一个主类,它创建JFrame并调用其他角色类的构造函数来完成所有工作,但由于某些原因,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
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(…)
方法