9

私は、さまざまな機能のためにあらゆる種類のパネルを備えたメインの JFrame を持っており、人々はそれらの中で物事を計算できます。ユーザーが最初の計算ボタンを押したときに新しい JFrame を開き、出力ウィンドウとして機能させたいと考えています (使い慣れている場合は、SPSS 出力ウィンドウに似ています)。

新しい JFrame は完全に分離され、独自のメニュー バーが作成されます。単純な JDialog は、ここでは使用できません。

4

5 に答える 5

12
  • 抵抗できません、単純に答えに同意しません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 は、ここで使用する方法ではありません。

  • の何が問題なのか、 の3 つのボタンと比較してJDialog、 の 1 つのボタンのみ、単純に同意しません。ToolbarJFrame

出力ウィンドウ (使い慣れている場合は、SPSS 出力ウィンドウに似ています)。

  • すべての変更が完了したら、JDialog に配置された JComponents の値を取得するためにSwingWorkeror Runnable#Thread(ラップインが必要) を使用します。invokeLaterJDialog.setVisible(true)invokeLater()
于 2013-03-01T22:29:10.510 に答える
10
JFrame newFrame = new JFrame();
newFrame.setVisible(true);
于 2013-03-01T21:48:04.043 に答える
5

JFrameSwing アプリケーション内で複数使用しないでください。JDialog代わりに追加のウィンドウに使用してください。

複数の JFrames の使用、良い/悪い習慣を参照してください。.

于 2013-03-01T22:01:03.963 に答える
4

私はあなたの質問を誤解しているかもしれませんが、

JFrame frame = new JFrame();
frame.setVisible(true);
于 2013-03-01T21:50:26.670 に答える