私は、さまざまな機能のためにあらゆる種類のパネルを備えたメインの 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 つのボタンのみ、単純に同意しません。Toolbar
JFrame
出力ウィンドウ (使い慣れている場合は、SPSS 出力ウィンドウに似ています)。
SwingWorker
or Runnable#Thread
(ラップインが必要) を使用します。invokeLater
JDialog.setVisible(true)
invokeLater()
JFrame newFrame = new JFrame();
newFrame.setVisible(true);
JFrame
Swing アプリケーション内で複数使用しないでください。JDialog
代わりに追加のウィンドウに使用してください。
複数の JFrames の使用、良い/悪い習慣を参照してください。.
私はあなたの質問を誤解しているかもしれませんが、
JFrame frame = new JFrame();
frame.setVisible(true);