GWT的类与AWT桌面类似?

时间:2012-04-13 14:07:22

标签: java gwt maven gxt

以下是我需要做的一小部分:

if (Desktop.isDesktopSupported())
{
    final Desktop desktop = Desktop.getDesktop();
    try{
    desktop.open(new File(path));
    }
    catch (final IOException e)
    {
     MessageBox.alert("Log View", "Error finding file", null);
    }
}

我需要在登录用户默认桌面应用程序中打开该文件类型的文件。 Maven给了我关于构建的问题,说它找不到java.io.File和java.awt.Desktop。

有两个问题,首先,GWT是否具有与java.awt.Desktop类似的功能,如何修复项目,以便maven找到io和awt文件?

3 个答案:

答案 0 :(得分:4)

要获得与HTML中JButton调用Desktop相同的效果,您需要提供一个HTML按钮,该按钮链接到文件下载并确保其具有正确的内容类型。服务器

答案 1 :(得分:2)

具体到GWT部分问题。

是的,你可以这样做。您可能会使用Grid,FlexTable,HTMLTable或仅显示HTML的事件。您可以将该窗口小部件嵌入到面板中,并在根面板上显示该面板。

技巧是将文件数据从服务器获取到客户端。您可以使用GWT RPC或某种REST服务器来实现。如果查看启动GWT应用程序时生成的默认应用程序,它将根据字符串发回字符串数据。您可以将其用作模式来关闭模型对象。默认应用程序使用GWT-RPC,非常容易理解。

我对小部件类型含糊不清的原因在于它取决于您希望如何向用户呈现此数据。您可以使用HTML来呈现HTML,但我认为您可能希望使用更好的小部件来真正呈现此数据。

答案 2 :(得分:0)

不,你不能用GWT做到这一点。

浏览器通常无权访问文件系统。您可以做的最好的事情是让用户安装一些插件,为您提供文件访问权限(需要权限检查)或让他们将文件上传到您的服务器(您的Web应用程序可以从那里下载文件进行检查)。