LibGDX scene2d プロジェクトで Java JFileChooser を使用しようとしていますが、JFileChooser を起動するとすぐにプログラムがフリーズします。
ファイルチューザーを起動するために使用するコードは次のとおりです。
private String getPath(){
String path = "";
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = fc.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
file = fc.getSelectedFile();
try {
path = file.getAbsolutePath();
} catch (Exception ex) {
System.out.println("problem accessing file" + file.getAbsolutePath() + "\n" + ex.getMessage());
}
} else {
System.out.println("File access cancelled by user.");
}
return path;
}
それはスイングとlibgdxの互換性の問題ですか、それとも何か不足していますか? 同じコードは、nativa Java プロジェクトで完全に機能します。代わりに例外: fc.showOpenDialog(null); 私が使用する:fc.showOpenDialog(button); // button は、イベントをトリガーする JButton です。
私は何が間違っているのですか?
編集: Windows 以外のプラットフォームで動作しないかどうかは気にしません。
しかし、クロス プラットフォーム ソリューションを選択し、LibGDX の方法を使用する場合、UI を使用してファイル チューザー クラスを自分でゼロから作成する必要がありますか?