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

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

在 ItemListener 中顯示消息對話框可防止選擇復(fù)選框

在 ItemListener 中顯示消息對話框可防止選擇復(fù)選框

胡子哥哥 2021-06-15 17:19:52
我注意到ItemListener在選擇復(fù)選框時使用消息框時,它會阻止復(fù)選框被選中。這是一個完整的示例,演示了該問題:import javax.swing.*;import static java.awt.event.ItemEvent.SELECTED;import static javax.swing.JOptionPane.INFORMATION_MESSAGE;import static javax.swing.JOptionPane.showMessageDialog;public class ExampleFrame extends JFrame{    private ExampleFrame()    {        JCheckBox jCheckBox = new JCheckBox("Fail");        add(jCheckBox);        jCheckBox.addItemListener(itemEvent ->        {            int stateChange = itemEvent.getStateChange();            if (stateChange == SELECTED)            {                showMessageDialog(rootPane,                        "The checkbox selection did not work.",                        "SSCCE",                        INFORMATION_MESSAGE);            }        });    }    public static void main(String[] arguments)    {        ExampleFrame exampleFrame = new ExampleFrame();        exampleFrame.pack();        exampleFrame.setVisible(true);    }}修復(fù)此代碼以使其顯示消息框并且不會中斷選擇復(fù)選框的最佳做法是什么?我成功地使用了一個額外的線程來執(zhí)行監(jiān)聽器,將它延遲例如100毫秒,然后在EDT. 不過,這似乎太難了,不能被認(rèn)為是一個合適的解決方案。
查看完整描述

1 回答

?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗 獲得超6個贊

用你的模態(tài)對話框包圍 SwingUtilities.invokeLater


SwingUtilities.invokeLater(new Runnable() {

    @Override

    public void run() {

        showMessageDialog(rootPane,

            "The checkbox selection did not work.",

            "SSCCE",

            INFORMATION_MESSAGE);

    }

});


查看完整回答
反對 回復(fù) 2021-06-23
  • 1 回答
  • 0 關(guān)注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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