- PR -

JFileChooserの「showOpenDialog」でフリーズしてしまう

投稿者投稿内容
未記入
会議室デビュー日: 2004/09/08
投稿数: 8
投稿日時: 2007-07-12 15:05
はじめまして。
ご教示宜しくお願いいたします。

フレームワーク「seasar」にてweb開発を行っております。
ファイルアップロード画面を作成しており、
画面には参照ボタンがありまして、
これを押下するとdoFileOpenメソッドが呼ばれます。
その中でJFileChoosarクラスを使用しています。
しかしJFileChooserのshowOpenDialogメソッドを呼ぶと
画面がフリーズしてしまいます。
環境は
WindowsXP Pro
IE6
Tomcat5.5
java1.5.0.11
です。

環境まわりが原因のようなのですが。。。

原因がつかめない為、
なにか思い当たる事がある方がいらっしゃいましたら
知恵をお授けください。

宜しくお願いいたします。

以下ソースです
############################################################
public String doFileOpen() {
// 変数宣言.
int fileSelectNo;
String getFileName = null;
StringBuffer strBuf = new StringBuffer();

// ファイル選択画面を起動する.
JFileChooser jFileChooser = new JFileChooser();
jFileChooser.setDialogTitle("ファイル選択");
fileSelectNo = jFileChooser.showOpenDialog(this);  ★★ここが呼ばれたときフリーズする

// ファイル選択がされていた場合は,ファイル名を取得して設定する.
if (fileSelectNo == JFileChooser.APPROVE_OPTION) {
File file = jFileChooser.getSelectedFile();
strBuf.append(jFileChooser.getCurrentDirectory())
.append("\\\\\\\\\\\\\\\\")
.append(jFileChooser.getName(file));
getFileName = strBuf.toString();
}

return getFileName;
############################################################
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-07-12 15:35
状況が読めないのですが、サーバサイドでJFileChooserを使いたいのですか?
未記入
会議室デビュー日: 2004/09/08
投稿数: 8
投稿日時: 2007-07-12 15:49
nagise様
レスありがとうございます。

>状況が読めないのですが、サーバサイドでJFileChooserを使いたいのですか?
はい。仰るとおりです。

説明がいたりませんでしたが
「画面がフリーズしてしまいます。 」というのは
本来ならばファイル選択ダイアログが開いてほしいのですが、開いてくれません。

ただ、ローカル環境の中で(ローカルのサーバもTomcat)
同じコードで同じ処理を行うと
ファイル選択ダイアログは開くことができます。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-07-12 16:12
引用:

未記入さんの書き込み (2007-07-12 15:49) より:
>状況が読めないのですが、サーバサイドでJFileChooserを使いたいのですか?
はい。仰るとおりです。

説明がいたりませんでしたが
「画面がフリーズしてしまいます。 」というのは
本来ならばファイル選択ダイアログが開いてほしいのですが、開いてくれません。



ますます状況が読めないのですが、
「ファイルアップロード画面」というのはクライアントのブラウザに表示されているHTMLの画面ですよね?
そこの「参照ボタン」を押すとサーバ側のマシン上でJFileChooserのファイル選択ダイアログが開くのですか?
それとも、クライアントマシン上でJFileChooserを使いたいのですか?
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-07-12 16:12
JFileChoose は VM が起動しているマシン上で開かれます。
サーバ上で正常に開かれているのではないでしょうか?

クライアント側で表示する必要があれば JavaWebStart とか使いましょう。
未記入
会議室デビュー日: 2004/09/08
投稿数: 8
投稿日時: 2007-07-12 16:18
nagise様
レスありがとうございます。
クライアントからサーバに接続して、
参照ボタンを押下すると
サーバ上でJFileChooserを動かして
「ファイル選択ダイアログ」の表示は
クライアントで行いたいと思っています。

インギ様
レスありがとうございます。
JavaWebStartとは何でしょうか?・・・
勉強不足で申し訳ありません。
nekoyama
ベテラン
会議室デビュー日: 2005/03/12
投稿数: 71
投稿日時: 2007-07-12 16:30
http://www.javaroad.jp/bbs/answer.jsp?q_id=20070710145705715
マルチポストのようですが。

>JavaWebStartとは何でしょうか?・・・
自分では調べてみないのですか?
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-07-12 16:35
あー。マルチポストか…。
やはり話が並列化して不毛になりますね。
これだからBBSで忌み嫌われるんですよ。

とりあえず、やる気が萎えたところですが、クライアント上でJFileChooserを
動かしたければクライアントでJavaのVMが動いている必要がある。
WebシステムはHTMLをやりとりするだけなんで、クライアントではVM動いていません。
Servletの動作の基礎を勉強してみましょう。

スキルアップ/キャリアアップ(JOB@IT)