2011-07-15 13 views
1

上記のコードで、ラジオボタンの1つをクリックした直後にポップアップを閉じたいが、ポップアップが開いたままになっている。JPopupMenuのJRadioButtonが選択後にメニューを閉じない

スイングに何か組み込みがありますか、またはactionPeformedを呼び出してポップアップを閉じる必要がありますか?

public class NewClass extends JFrame { 

    NewClass() { 
     setSize(100,100); 

     JPopupMenu pop = new JPopupMenu(); 

     JRadioButton log1 = new JRadioButton("Level 1"); 
     pop.add(log1); 

     JRadioButton log2 = new JRadioButton("Level 2"); 
     pop.add(log2); 

     JPanel p = new JPanel(); 
     add(p); 
     p.setComponentPopupMenu(pop); 
    } 

    public static void main(String[] args) { 
     new NewClass().setVisible(true); 
    } 
} 

答えて

1

表情をしてButtonGroupがあなたのケースで

便利ですかどうかを確認編集:

Is there something build-in in swing or must i call actionPeformed and 
close the popup explicity ? 

わかりません...、良いquしかし、JMenuItemJRadioButtonを追加すると、組み込みの外観になります。here

+0

JRadioButtonMenuItem thats it!ありがとうございました – PeterMmm

0

あなたはあなたが使用してボタンを押したときに、私はそうボタンにActionListenerにを追加しています:JRadioButtonaddItemListener()

public void actionPerformed(ActionEvent e){ 
    pop.setVisible(false); 
    pop.dispose(); 
} 
+0

ActionListenersの使い方を知っていますか? – Jonas

+0

はい、私はこれを避けたいと思っていました... – PeterMmm

+0

できないと思います。 – Jonas

関連する問題