私は、さまざまな機能のためにあらゆる種類のパネルを備えたメインの JFrame を持っており、人々はそれらの中で物事を計算できます。ユーザーが最初の計算ボタンを押したときに新しい JFrame を開き、出力ウィンドウとして機能させたいと考えています (使い慣れている場合は、SPSS 出力ウィンドウに似ています)。
新しい JFrame は完全に分離され、独自のメニュー バーが作成されます。単純な JDialog は、ここでは使用できません。
JFrame frame = new JFrame(); とframe.setVisible(true);ユーザーが最初の計算ボタンを押したときに新しい JFrame を開き、出力ウィンドウとして機能させたいと考えています (使い慣れている場合は、SPSS 出力ウィンドウに似ています)。
そうしないでください。2つだけ JFrames を作成し、 2番目を再利用してください。JFrameを使用してgetContentPane.removeAll()、からの別のアクションにJButton
setVisible(true)その場合、すべてのライフサイクルは/についてのみになりますsetVisible(false)
DefaultCloseOperationsに変更HIDE_ON_CLOSE
新しい JFrame は完全に独立しており、独自のメニュー バーがあります。単純な JDialog は、ここで使用する方法ではありません。
JDialog、 の 1 つのボタンのみ、単純に同意しません。ToolbarJFrame出力ウィンドウ (使い慣れている場合は、SPSS 出力ウィンドウに似ています)。
SwingWorkeror Runnable#Thread(ラップインが必要) を使用します。invokeLaterJDialog.setVisible(true)invokeLater()JFrame newFrame = new JFrame();
newFrame.setVisible(true);
JFrameSwing アプリケーション内で複数使用しないでください。JDialog代わりに追加のウィンドウに使用してください。
複数の JFrames の使用、良い/悪い習慣を参照してください。.
私はあなたの質問を誤解しているかもしれませんが、
JFrame frame = new JFrame();
frame.setVisible(true);