public void checkValidLocation(String fieldContents)
{
// 去除空格操作
String dir = fieldContents.trim();
// 如果路径长度为0,给出错误信息,并不允许进行"应用"和"确定"操作
if (null == dir || 0 == dir.length())
{
setMessage("The path must be specified", IMessageProvider.ERROR);
setValid(false);
return;
}
// 提供Path对象验证路径
Path path = new Path(dir);
// 如果用户输入的路径信息为以下格式“C:”,则会根据操作系统类型自动加上路径分隔符“\”或“/”
path.addTrailingSeparator();
// 获取盘符
String device = path.getDevice();
// 如果用户没有输入盘符,给出错误信息
if (null == device || "".equals(device))
{
setMessage("The path must include a device",
IMessageProvider.ERROR);
setValid(false);
return;
}
// 如果路径不是合法的
if (!path.isValidPath(dir))
{
setMessage("The path is not a valid path", IMessageProvider.ERROR);
setValid(false);
return;
}
// 如果路径非法,给出错误信息,并不允许进行"应用"和"确定"操作
if (!(new File(dir).isDirectory()))
{
setMessage("The path is not a valid directory",
IMessageProvider.ERROR);
setValid(false);
return;
}
else
{
// 如果路径信息合法,清空错误信息,并显示当前属性页配置描述信息
setMessage(getDescription(), IMessageProvider.NONE);
setValid(true);
}
}