SWT中,文件打开对话框问题

问题描述

在SWT中,用FileDialog选择打开文件:FileDialog fileSelect=new FileDialog(shell,SWT.SINGLE); fileSelect.setFilterNames(new String[]{"*.wav"}); fileSelect.setFilterExtensions(new String[]{"*.wav"}); String url=""; url=fileSelect.open();选择打开文件正常,但是如果点击取消按钮的话,就出现以下异常:java.lang.IllegalArgumentException: Argument cannot be nullat 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)望指点!

解决方案

问题不是出在这段代码上,而在这段代码之后的处理上。在点击<取消>之后,url为null,后面的代码中需要一个非null的参数,这样就会导致你看到的一个错误。
解决方案二:
我能问一下哪一行是SysConfig.java:139吗?问题就是这一行所调用的构造函数传递了非法的参数。

时间: 2024-07-31 13:12:55

SWT中,文件打开对话框问题的相关文章

文件打开对话框

文件保存: //为FALSE,显示保存文件对话框 CFileDialog fileDlg(FALSE); fileDlg.m_ofn.lpstrTitle = "我的文件保存对话框"; fileDlg.m_ofn.lpstrFilter = "Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0"; fileDlg.m_ofn.lpstrDefExt = "txt";   if (IDOK == fi

汇编中使用打开对话框

如果从命令行参数中不能取得文件名,那么我们就可以使用一个通用对话框(打开文件对话框)要求用户选择一个文件,从而取得要操作的文件对象. ---------------------------------------------------------------------;文件名:16.asm,显示一个打开对话框 .386 .model flat, stdcall option casemap:none include windows.inc include kernel32.inc inclu

不知道点了什么,导致Eclipse中文件打开格式总是文本,快哭了

问题描述 左边的ftl文件一打开就以文本打开,ctrl+shift+r搜索文件也是文本格式打开,对开发造成很大影响,百度这个问题,设置了FileAssociations打开格式但还是不起作用,有人知道怎么做吗?在线等,急死人了. 解决方案 解决方案二:需要freemarker插件.要不然就会以记事本的形式编辑解决方案三:但是我之前不是以文本打开的刚不知道点了什么就总是以文本打开了太不方便了除了插件还有方法吗比如还原到之前的格式解决方案四:右键,有个"openwith选择你想要的格式"解

vs2010菜单栏中文件-->打开,没有打开网站项是什么原因

问题描述 vs2010菜单栏中文件-->打开,没有打开网站项是什么原因,只有打开项目/解决方案,团队项目,文件三项 解决方案 解决方案二:没有人知道吗有人遇到过吗?解决方案三:文件下面,直接有打开网站啊(中文旗舰版),不知楼主哪个版本~解决方案四:[img=http://hiphotos.baidu.com/zhidao/abpic/item/d01373f016a73e2ca50f524c.jpg?t=1328183604290][/img]2010版解决方案五:http://zhidao.b

WindowsXP快速修改文件打开方式的方法

  WinXP用户安装了一些应用程序之后,会使得原来的一些文件关联发生改变,那么怎么才能快速修改这些文件的打开方式呢?今天小编就教大家一个简单的方法. 解决方法: 1. 在任何一个MPG文件上点击右键. 2. 选择"属性"命令,在"常规"选项卡中点击"更改"按钮. 3. 打开更改"打开方式"对话框,从中选择"超级解霸"即可,当然你也可以选择其它的媒体播放器.对于其它类型的文件也可以采用此方法快速修改打开方式

如何为系统“文件另存为”对话框开发插件?

问题描述 小弟对Windows下的开发不熟悉,问问各位大侠,以下想法是否能实现?主要想法是替换所有文件另存为对话框,当用户点击保存文件的时候在对话框里提供文件命名建议.具体的说就是用户保存文件打开对话框时在Sidebar哪里显示一些建议的文件名.用户只要点击建议文件名就会自动为用户选择保存的目录和文件名.现在我不了解的是windows的saveasdialog是可以被替换的吗?在网上找了半天没有这样的例子.谢谢大家. 解决方案 解决方案二:以前有人做过,但是经常把其他的应用程序搞崩溃.你不太可能

VBS 显示“选择文件或文件夹”对话框的代码_vbs

一.显示"选择文件"的对话框 问: 嗨,Scripting Guy!有没有什么方法可以让我使用脚本向用户显示一个对话框,供用户选择文件使用? 答:您好.| 如果您使用的是 Windows 2000,我们不知道实现此操作的方法,至少操作系统中没有内置这样的方法. 但如果您使用的是 Windows XP,情况就不同了.在 Windows XP 上,您可以使用"UserAccounts.CommonDialog" 对象向用户显示一个标准的"文件打开"对

PHP中文件读写操作

PHP中文件读写操作 PHP中提供了一系列的I/O函数,能简捷地实现我们所需要的功能,包括文件系统操作和目录操作(如"复制[copy]").下面给大家介绍的是基本的文件读写操作:(1)读文件:(2)写文件:(3)追加到文件. 以下是一篇关于文件基本读写操作的文章,我曾经就是看了这篇文章后学会文件基本操作的,在这里发出来与大家共享: 读文件: PHP代码: 1.    <?php  2.      3.    $file_name = "data.dat"; 

asp.net 中怎么打开文件夹对话框

问题描述 asp.net中怎么打开文件夹对话框,注意不是文件对话框,就是象FileBrowserDialog那样的.但是这个控件是用在WINDOWS窗体程序里的.请教大家.谢谢 解决方案 解决方案二:你是指目录树?解决方案三:是的.请问怎么解决啊.不是树型目录也可以的.只要选择文件夹而不是文件.