Hallo,
ich möchte aus u.g. java Programm ein anderes Programm aufrufen und bis zu dessen Beendigung warten. Doch leider bekomme ich bei den Zeilen
den in der Titelzeile genannten Fehler. Genauer zeigt mir Eclipse folgendes an:
Kann mir jemand anfängerkonform erklären was ich wo ändern muß, damit das läuft.
ich möchte aus u.g. java Programm ein anderes Programm aufrufen und bis zu dessen Beendigung warten. Doch leider bekomme ich bei den Zeilen
Java:
Process dnc = rt.exec( "d:\\program files (x86)\\DNC\\BIN\\Dncver.exe download " + Programmnummertext.getText() + " " + datei + " 1 1" );
dnc.waitFor();
Code:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Unhandled exception type IOException
Unhandled exception type InterruptedException
at TVManager.TV.<init>(TV.java:73)
at TVManager.TV.main(TV.java:84)
Kann mir jemand anfängerkonform erklären was ich wo ändern muß, damit das läuft.
Java:
package TVManager;
import java.io.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class TV {
private static Display display;
public Shell shell;
private static Label Programmnummerlabel;
private static Text Programmnummertext;
private static Label extensionlabel;
private String datei;
public TV()throws IOException{
display = new Display ();
shell = new Shell (display);
shell.setLayout (new FillLayout ());
Programmnummerlabel = new Label(shell, SWT.FLAT);
Programmnummertext = new Text (shell, SWT.SINGLE | SWT.BORDER);
extensionlabel = new Label(shell, SWT.FLAT);
Button OKbtn = new Button(shell, SWT.PUSH);
GridLayout anzeigegroupLayout = new GridLayout ();
anzeigegroupLayout.numColumns = 3;
anzeigegroupLayout.makeColumnsEqualWidth = true;
shell.setLayout(anzeigegroupLayout);
GridData anzeigegroupdata = new GridData ();
anzeigegroupdata.horizontalAlignment = GridData.FILL;
anzeigegroupdata.verticalAlignment = GridData.FILL;
shell.setLayoutData (anzeigegroupdata);
Programmnummerlabel.setText("Programmkopf: ");
GridData Programmnummerlabeldata = new GridData ();
Programmnummerlabeldata.verticalAlignment = GridData.BEGINNING;
Programmnummerlabeldata.horizontalAlignment = GridData.BEGINNING;
Programmnummerlabel.setLayoutData (Programmnummerlabeldata);
Programmnummertext.setText("");
GridData Programmnummertextdata = new GridData ();
Programmnummertextdata.verticalAlignment = GridData.BEGINNING;
Programmnummertextdata.horizontalAlignment = GridData.END;
Programmnummertext.setLayoutData (Programmnummertextdata);
extensionlabel.setText(" _000.CAD");
GridData extensionlabeldata = new GridData ();
extensionlabeldata.verticalAlignment = GridData.BEGINNING;
extensionlabeldata.horizontalAlignment = GridData.BEGINNING;
extensionlabel.setLayoutData (extensionlabeldata);
OKbtn.setText("Ansehen");
GridData OKbtndata = new GridData ();
OKbtndata.horizontalSpan = 3;
OKbtndata.horizontalAlignment = GridData.CENTER;
OKbtn.setLayoutData (OKbtndata);
OKbtn.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
datei = Programmnummertext.getText()+"_000.CAD";
Runtime rt =Runtime.getRuntime();
Process dnc = rt.exec( "d:\\program files (x86)\\DNC\\BIN\\Dncver.exe download " + Programmnummertext.getText() + " " + datei + " 1 1" );
dnc.waitFor();
MessageBox Sbox = new MessageBox(shell, SWT.OK | SWT.ICON_WARNING);
Sbox.setText("Achtung");
Sbox.setMessage("und weiter");
Sbox.open();
}
});
}
public static void main(String[] args)throws IOException{
TV elements = new TV();
elements.mainLoop(500,500);
}
public void mainLoop(int hSize, int vSize)throws IOException{
shell.setSize( hSize, vSize);
shell.setText("Blablabla");
shell.pack ();
shell.open ();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ())
display.sleep ();
}
display.dispose ();
}
}
Zuletzt bearbeitet: