いくつかのコンポーネントとメニューを含むフレームがあります。フレームとメニューの特定のボタンは、ファイルを開いて保存するために JFileChooser (毎回新しいインスタンス) を開きます。
私の問題は単純です。Java で JFileChooser を開いて [OK] を押すと、メニューがフレーム内の他のコントロールの背後に隠れてしまいます。これは、メニューを開くと、一部のメニュー項目が表示されないことを意味します。
ただし、JFileChooser で [OK] を押さずに [キャンセル] を押すと、これは起こりません。FileChooser が「OK」を取得した後にフレームが再描画される方法にエラーがあると思います。私が言ったように、コンポーネントの積み重ねに問題があるようです。
ちなみに、Swing と AWT のコンポーネントは混ぜていません。私のコンポーネントはすべて Swing コンポーネントです。
編集:これが私のコードです
final JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File(Books.getDirectory()));
fileChooser.setAcceptAllFileFilterUsed(false);
fileChooser.setFileFilter(new XmlFilter());
int returnVal = fileChooser.showOpenDialog(Main.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
// OK was pressed
}
何か案は?