1

これが私がする必要があることの小さな断片です:

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が見つからないと言って、ビルドに関する問題を私に与えています。

2つの部分からなる質問の一種です。まず、GWTにはjava.awt.Desktopと同様の機能がありますか。また、Mavenがioファイルとawtファイルを見つけるようにプロジェクトを修正するにはどうすればよいですか。

4

3 に答える 3

4

JButtonHTML での呼び出しと同じ効果を得るにDesktopは、ファイルのダウンロードにリンクする HTML ボタンを提供し、サーバーによって提供された正しいコンテンツ タイプが含まれていることを確認します。

于 2012-04-13T14:20:00.773 に答える
2

特に質問のGWT部分に。

はい、できます。Grid、FlexTable、HTMLTable、または HTML のみのイベントを使用して表示する可能性があります。そのウィジェットをパネルに埋め込み、そのパネルをルート パネルに表示します。

トリックは、サーバーからクライアントにファイル データを取得することです。これは、GWT RPC またはある種の REST サーバーを使用して行うことができます。GWT アプリケーションを起動したときに生成されるデフォルトのアプリを見ると、文字列に基づいて文字列データが返されます。これをパターンとして使用して、モデル オブジェクトをダウンさせることができます。デフォルトのアプリは GWT-RPC を使用しており、従うのは非常に簡単です。

ウィジェットの種類について曖昧にした理由は、このデータをユーザーにどのように表示するかによって決まるからです。HTML を使用して HTML をレンダリングすることもできますが、このデータを真にレンダリングするには、より優れたウィジェットを使用する必要があると思います。

于 2012-04-13T17:43:29.443 に答える
0

いいえ、GWTではこれを行うことはできません。

ブラウザは通常、ファイルシステムにアクセスできません。最善の方法は、ユーザーにファイルアクセスを提供するプラグインをインストールしてもらうか(権限チェックが必要)、サーバーにファイルをアップロードしてもらうことです(Webアプリはそこからファイルをダウンロードして検査できます)。

于 2012-04-13T14:15:39.903 に答える