第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java JCheckBoxMenuItem 僅在選擇時觸發(fā)事件

Java JCheckBoxMenuItem 僅在選擇時觸發(fā)事件

交互式愛情 2023-09-20 14:57:04
我在 JMenu 中有一個 JCheckBoxMenuItem。我的任務很簡單:當它被選擇時,它應該觸發(fā)一個 DialogBox,換句話說,一個 JFileChooser。當未選擇時,不執(zhí)行任何操作。問題:選擇它時它工作正常,但取消選擇時它繼續(xù)做同樣的事情。這是代碼:JCheckBoxMenuItem checkBox = new JCheckBoxMenuItem("ChebkBox");    checkBox.addItemListener(new ItemListener() {        public void itemStateChanged(ItemEvent arg0) {            if(checkBox.isSelected())            {                System.out.println("SELECTED!");                checkBox.addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent event) {                        JFileChooser fileChooser = new JFileChooser();                        if (fileChooser.showSaveDialog(checkBox) == JFileChooser.APPROVE_OPTION) {                            //DIALOG BOX CODE....     });我不確定問題出在哪里,也許與嵌套的操作列表器有關。即使復選框未被選中,它也會被觸發(fā)。有辦法解決這個問題嗎?
查看完整描述

1 回答

?
達令說

TA貢獻1821條經(jīng)驗 獲得超6個贊

問題是您在錯誤的位置檢查 isSelected 。您應該檢查actionPerformed 內的選擇。


checkBox.addItemListener(new ItemListener() {

            public void itemStateChanged(ItemEvent arg0) {

                System.out.println("SELECTED!");

                checkBox.addActionListener(new ActionListener() {

                    public void actionPerformed(ActionEvent event) {

                        if (checkBox.isSelected()) {

                            if (fileChooser.showSaveDialog(checkBox) == JFileChooser.APPROVE_OPTION) {

                                // DIALOG BOX CODE....

                            }

                        }

                    };

                });

            }

        });


查看完整回答
反對 回復 2023-09-20
  • 1 回答
  • 0 關注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號