Jmenuitem Javaからウィンドウポップアップを開きます
質問
私は持っています 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レイアウトの使用は、ダイアログを作成する最良の方法ではありません。