質問

私は持っています JMenu とともに JMenuItem, 、そしてこれをクリックすると、 JFrame またはウィンドウ、言い換えれば、内側のコンポーネント JButton, JTextField,...

これどうやってするの ?

役に立ちましたか?

解決

を作成できます JFrame 同様に、最初のものを作成しました JFrame, 、そして電話してください

setVisible(true);

の中に ActionListener あなたの JMenuItem メニューをクリックすると表示されます。


モーダルにしたい場合(新しいウィンドウが閉じられていない限り、元のフレームにアクセスできません)、 JDialog 代わりに、設定 modal コンストラクター、または呼び出しで真である setModal(true).

他のヒント

私は良いコードビューのために答えて書きます:

JFrameを使用した場合、このエラーが発生しました。

それが私のActionPufformedメソッドのコードです:

PopupFactory factory = PopupFactory.getSharedInstance();
JFrame frame = new JFrame();
frame.setLayout(null);
frame.setBounds(428, 99, 185, 155);

final JButton button = new JButton();
button.setText("Button");
button.setBounds(10, 93, 111, 25);
frame.getContentPane().add(button);

final Popup popup = factory.getPopup(null, frame, 200, 200);
popup.show();

「ポップアップ」と「Windows」を混乱させています。

いくつかのオブジェクトを右クリックすると、一般的にポップアップが表示されます。ポップアップには、そのオブジェクトで実行できるアクションのリストが表示されます。たとえば、テキストフィールドには「カット」、「コピー」、「貼り付け」がある場合があります。スイングチュートリアルのセクションを読む」ポップアップメニューを表示します" 詳細については。

ウィンドウは、JFrameまたはJDialogに他のスイングコンポーネントを表示するために使用されます。

メニュー項目からこのアクションを呼び出していることを考えると、JFRAMEやポップアップではなく、モーダルJDialogを作成して表示したいと思うでしょう。

また、チュートリアルを読んでいる間、「レイアウトマネージャーの使用」に関するセクションをお読みください。 NULLレイアウトの使用は、ダイアログを作成する最良の方法ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top