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 виден Как я могу это скрыть?

0 ответов

Другие вопросы по тегам