我想在调用start()
方法之前和触发每个静态块(main(String[])
)之后触发static{}
方法,以便Java的重要部分(如AWT / Swing)在运行该方法时功能完备。
start()加载文件和图像,设置SecurityManager
并打开弹出窗口,告诉用户一切是否正确。不幸的是,当我调用JOptionPane.showMessageDialog(stuff)
时会抛出异常。 http://pastebin.com/FG3y0i9Z
使用SwingUtilities.invokeLater(Runnable)
不起作用并抛出相同的异常。
我认为这是因为AWT或Swing没有通过静态块正确加载自身。
我对main方法没有任何控制权:我无法修改它,我也不知道它的路径。
我有办法做到这一点吗?
答案 0 :(得分:0)
您可以从最后一个静态区块中调用start
。
答案 1 :(得分:0)
问题不在于静态块和没有加载的东西;我遇到了问题,因为我的SecurityManager阻止了所有内容 ...我改变了处理权限的方式(白名单==>黑名单),现在就可以了!