NullPointerException при запуске потока
Я использую два разных threads
извлечь ZIP-файл и отобразить JProgressBar
, Мой первый поток работает правильно, но второй поток дает NullPointerException
,
Ниже мой код для запуска обоих потоков:
final String command = System.getProperty("user.dir")+File.separator+"ExtractMe.exe";
Thread thread1 = new Thread(){
public void run() {
try {
Runtime.getRuntime().exec("cmd /c "+command);
} catch (IOException ex) {}
}
};
Thread thread2;
thread2 = new Thread(){
public void run() {
new JProgressBarThread();
}
};
thread1.start();
thread2.start();
LogCat:-
Exception in thread "Thread-7" java.lang.NullPointerException
at de.javasoft.plaf.synthetica.SyntheticaRootPaneUI$1.getBorderInsets(SyntheticaRootPaneUI.java:128)
at de.javasoft.plaf.synthetica.SyntheticaRootPaneUI.installWindowListeners(SyntheticaRootPaneUI.java:147)
at de.javasoft.plaf.synthetica.SyntheticaRootPaneUI.propertyChange(SyntheticaRootPaneUI.java:273)
at org.pingalab.splashscr.JProgressBarThread.<init>(Unknown Source)
at org.pingalab.splashscr.PingalabLauncher$1$2.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at de.javasoft.plaf.synthetica.SyntheticaRootPaneUI$1.getBorderInsets(SyntheticaRootPaneUI.java:128)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
И еще один вопрос, даже если бы я использовал cmd /c
запустить exe
файл для начала извлечения, command window
виден Как я могу это скрыть?