-1
我的应用程序在eclipse IDE上运行良好,但导出后,名声不会重新绘制。 我试图通过去除两个JPanels重建奠定了JFrame的,并与更多的面板&这里再次添加它们是我的代码:java应用程序GUI导出后响应不同
应用程序首先调用buildGUI()
private void buildGUI(){
setTitle("MyApp");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(new BackGroundImagePanel());
setResizable(false);
getContentPane().setLayout(new GridBagLayout());
c = new GridBagConstraints();
/*
*set up GridBagConstraints and add the two panels
*/
pack();
setSize(700, 700);
revalidate();
setLocationRelativeTo(null);
}
在用户输入时做一些计算&调用reBuildGUI():
private void reBuildGUI(){
//Clean the frame.
remove(firstPanel);
remove(secondPanel);
//removeAll() doesn't work for me;
validate();
repaint();
/*
*set up GridBagConstraints and more panels
*/
pack();
setSize(700, 700);
repaint();
validate();
}
再次
,在IDE但不作为独立的罐子应用工作perfict,在调用reBuildGUI()没有发生! 试图使用验证(),重新验证()& pack()以不同的顺序没有收益?
不知道任何人都可以在没有发布[mcve]的情况下回答这个问题,而不是确保您将所有图像作为类资源而不是文件。如果您仍然需要帮助,那么请隔离错误并发布您的MCVE。 –
如果你想让'JFrame'成为一个特定的大小*或*使用'pack()',不要使用'setSize()'*和*'pack()',使用'setSize()' 'JFrame'是尽可能小的尺寸以适合其子组件。 – MasterBlaster