JRadioButton в JPopupMenu не закрывает меню после выбора - PullRequest
1 голос
/ 15 июля 2011

С помощью приведенного выше кода я хочу закрыть всплывающее окно сразу после нажатия на одну из переключателей, но оно остается открытым.

Есть что-то встроенное в свинг или я должен вызвать 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);
    }
}

Ответы [ 2 ]

1 голос
/ 15 июля 2011

посмотрите на JRadioButton # addItemListener () и проверьте, является ли ButtonGroup полезной в вашем случае

EDIT:

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

Не знаю ..., хороший вопрос, но если вы добавите JRadioButton к JMenuItem, тогда будет встроенный вид здесь

0 голосов
/ 15 июля 2011

Я бы добавил actionlisteners на кнопки, поэтому, когда вы нажимаете кнопку, вы затем используете:

public void actionPerformed(ActionEvent e){
    pop.setVisible(false);
    pop.dispose();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...