在使用JFrame时发现一个问题,使用main方法进行调用时画图界面并不会闪退,但是同样的画图方法在测试方法中调用时却会闪退,现在还不清楚造成这一现象的底层原因,但是找到缓解这一现象的方法:
......
MSAlgorithm Algorithm = new MSAlgorithm(0.5, list.get(0), 30);
list.add(Formulas.PointToDouble(Algorithm.getClusterDepot()));
double maxX = Formulas.maxInOneColOfArray(array, 0);
double maxY = Formulas.maxInOneColOfArray(array, 1);
try {
MainFrame mainFrame = new MainFrame(list, imagePath, customers, Algorithm.getCluster(), maxX, maxY);
mainFrame.visualize();
mainFrame.graphDraw.setGbestRoute(totalPath.getTotalPath());
mainFrame.repaint();
Thread.sleep(500000);
}catch (Exception e) {
}
让线程暂时休眠,这样暂时能解决画图界面闪退的问题,后期若找到根源再添加解决方法。