私の問題は次のとおりですJApplet
。HTMLページに埋め込まれ、form
アプレットのパブリックメソッドのJS呼び出しを含むボタンがあります。
<input id="btnAppletSelectFiles" type="button" value="Select Files"
onclick="document.appletExcelUploader.SelectFiles();" />
私のJAppletには、次のようなFileChooserがあります。
public class ExcelUploader extends JApplet {
private JFileChooser fc = new JFileChooser();
// Some stuff
}
そして、私はアプレットのパブリックメソッドで次のようなコードを書いています。
public void SelectFiles() {
int retVal = fc.showOpenDialog(ControlsPanel.this);
if (retVal == JFileChooser.APPROVE_OPTION) {
for (File file : fc.getSelectedFiles()) {
System.out.println(file.getName());
}
}
}
したがって、HTMLボタンをクリックすると、ファイルダイアログが正常に表示され、ディレクトリを閲覧してファイルを確認できますが、OpenまたはOKボタンを押すことはできません。クリックしてもダイアログは表示されたままになります。
スレッドに問題があると思います。これは、アプレットのGUIスレッドやイベントディスパッチスレッドではなく、「HTMLとJS」スレッドで何とかして実行しています。
問題を解決する方法は?