我的应用程序在eclipse IDE上运行正常,但在导出之后,名声不会重新粉刷。 我试图通过删除两个JPanel来重建JFrame的布局,并再添加更多的面板和放大器。这是我的代码:
应用程序首先调用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上执行,但不是作为独立的jar,在调用reBuildGUI()时没有任何反应! 试图使用validate(),revalidate()& pack()以不同的顺序没有收益?
答案 0 :(得分:0)
Hovercraft:你是对的,代码还不够,很抱歉,但我会粘贴代码页,并不足以调试它。
这是故障排除: - 指示记录器登录到文件(使用文件处理程序)。 - 找到记录器停止的地方。 - 添加更精细&最好的日志记录,直到找到错误。
错误在这行中的另一个类方法深处埋葬了:
addOnImage = ImageIO.read(getClass().getClassLoader().getResource("images/AddTextOn.png"));
实际文件名为" ADDTextOn.png"但Eclipse能够将其读作" AddTextOn.png"虽然JRE不是,但没有任何事情表明任何错误,该程序只是什么都不做。