在SWT中,用FileDialog选择打开文件:
[code="java"]FileDialog fileSelect=new FileDialog(shell,SWT.SINGLE);
fileSelect.setFilterNames(new String[]{"*.wav"});
fileSelect.setFilterExtensions(new String[]{"*.wav"});
String url="";
url=fileSelect.open();[/code]
选择打开文件正常,但是如果点击取消按钮的话,就出现以下异常:
java.lang.IllegalArgumentException: Argument cannot be null
at org.eclipse.swt.SWT.error(SWT.java:3547)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.SWT.error(SWT.java:3452)
at org.eclipse.swt.widgets.Widget.error(Widget.java:432)
at org.eclipse.swt.widgets.Text.setText(Text.java:1794)
at com.cnfol.im.ui.SysConfig$1$1.widgetSelected(SysConfig.java:139)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
at com.cnfol.im.ui.SysConfig.open(SysConfig.java:77)
at com.cnfol.im.ui.Main$3.widgetSelected(Main.java:225)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
at com.cnfol.im.ui.Main.open(Main.java:178)
at com.cnfol.im.ui.Main.main(Main.java:83)
望指点!