ItemListenerにメッセージダイアログを表示すると、チェックボックスが選択されなくなります

BullyWiiPlaza

ItemListenerチェックボックスを選択するときにメッセージボックスを使用すると、チェックボックスが選択されなくなることに気付きました。これは、問題を示す完全な例です。

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);
    }
}

このコードを修正してメッセージボックスを表示し、チェックボックスの選択を中断しないようにするためのベストプラクティスは何でしょうか。

追加のスレッドを使用してリスナーを実行し、100ミリ秒単位で遅延させてから、でメッセージボックスを再度実行することに成功しましたEDTしかし、これはハッキーすぎて適切な解決策とは見なされないようです。

この質問は関連していますが、まともな回答は得られませんでした。

gtgaxiola

モーダルダイアログをで囲む SwingUtilities.invokeLater

SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
        showMessageDialog(rootPane,
            "The checkbox selection did not work.",
            "SSCCE",
            INFORMATION_MESSAGE);
    }
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ブートストラップダイアログのチェックボックスを選択すると、背景領域が選択されます

分類Dev

ヘッダーチェックボックスを選択すると、すべての行が選択されますが、いずれかの行がチェックされていない場合は、テーブルでヘッダーチェックボックスが選択解除されている必要があります

分類Dev

Android Nougat:プログラムで選択したときにフラグメントのチェックボックスが不完全な状態になるのはなぜですか(ただし、Lollipopでは問題なく表示されます)

分類Dev

Meteorチェックボックスグループ-少なくとも1つのチェックボックスが選択されています

分類Dev

複数ページのフォームを送信する前に、少なくとも1つのチェックボックスが選択されていることを確認する機能を追加する必要がありますか?

分類Dev

[貼り付け/特殊]ダイアログの[転置]チェックボックスがグレー表示されるのはなぜですか?

分類Dev

ボタンとダイアログのチェックボックスを使用してAndroidの複数のアイテムを選択し、選択したアイテムをボタンの代わりにリストビューに表示します

分類Dev

Android-ダイアログフラグメントを閉じると、小さなダイアログボックスが表示されます

分類Dev

チェックボックスを選択すると削除アイコンが表示される-JS

分類Dev

複数のチェックボックスがオンになっているときにアラートダイアログを表示する方法

分類Dev

ボタンがクリックされたときにチェックボックスが選択されていない場合、チェックボックスはfalseを送信する必要があります

分類Dev

チェックボックスをクリックすると下部にメッセージが表示されます

分類Dev

チェックボックスを選択すると、入力フィールドが表示されます。HTML

分類Dev

Angular 7で複数のチェックボックスを検証する方法は?メッセージをスローする必要があります。少なくとも1つのチェックボックスをオンにする必要があります。

分類Dev

チェックボックスが選択されていないすべてのグループで特定のラジオボタンを選択します

分類Dev

PowerPoint 2010ドキュメントを保存すると、ドロップダウンリスト(コンボボックス)が表示されなくなります

分類Dev

クリックすると、ブートストラップの選択が選択ボックスに表示されなくなります。マウスホバーでのみ表示されます

分類Dev

PHPで確認するために、リダイレクトされたページにドロップダウンとチェックボックスで選択した値を表示するにはどうすればよいですか?

分類Dev

phpコンボボックスとボタンはmysqldbに更新されると非表示になり、コンボボックスとボタンの場所の代わりに成功メッセージを表示する必要があります。

分類Dev

リストビューアイテムのチェックボックスがチェックボックスの外をクリックして選択解除されないようにするにはどうすればよいですか?

分類Dev

ドロップダウンボックスで行われたさまざまな選択に基づいて条件付きアラートメッセージをコンパイルする

分類Dev

VBAへのアクセス:フォームのヘッダーまたはフッターの表示を変更すると、リストボックスオブジェクトの選択がクリアされます

分類Dev

チェックボックス付きのリストがあります。チェックボックスがオンになっている場合にのみ、ビューモーダルの選択されたプロパティを呼び出します。

分類Dev

選択したアイテムのIDが表示されない2つのドロップダウンを選択します。コントローラーバインドにアクセスするにはどうすればよいですか。

分類Dev

Shinyappでタブが選択されているときに「modalDialog」ダイアログボックスを開く

分類Dev

jQuery検証少なくとも1つのチェックボックスが選択されています

分類Dev

ダイアログボックスがページの上部に表示されることはありません

分類Dev

含まれているテキストが実行時に認識されない場合に、コード化されたUIでチェックリストボックスのアイテムコントロールを選択する

分類Dev

最初にチェックボックスをクリックすると、モーダルポップアップウィンドウが表示されます。オンセカンドクリックでチェックボックスのチェックを外すにはどうすればよいですか?

Related 関連記事

  1. 1

    ブートストラップダイアログのチェックボックスを選択すると、背景領域が選択されます

  2. 2

    ヘッダーチェックボックスを選択すると、すべての行が選択されますが、いずれかの行がチェックされていない場合は、テーブルでヘッダーチェックボックスが選択解除されている必要があります

  3. 3

    Android Nougat:プログラムで選択したときにフラグメントのチェックボックスが不完全な状態になるのはなぜですか(ただし、Lollipopでは問題なく表示されます)

  4. 4

    Meteorチェックボックスグループ-少なくとも1つのチェックボックスが選択されています

  5. 5

    複数ページのフォームを送信する前に、少なくとも1つのチェックボックスが選択されていることを確認する機能を追加する必要がありますか?

  6. 6

    [貼り付け/特殊]ダイアログの[転置]チェックボックスがグレー表示されるのはなぜですか?

  7. 7

    ボタンとダイアログのチェックボックスを使用してAndroidの複数のアイテムを選択し、選択したアイテムをボタンの代わりにリストビューに表示します

  8. 8

    Android-ダイアログフラグメントを閉じると、小さなダイアログボックスが表示されます

  9. 9

    チェックボックスを選択すると削除アイコンが表示される-JS

  10. 10

    複数のチェックボックスがオンになっているときにアラートダイアログを表示する方法

  11. 11

    ボタンがクリックされたときにチェックボックスが選択されていない場合、チェックボックスはfalseを送信する必要があります

  12. 12

    チェックボックスをクリックすると下部にメッセージが表示されます

  13. 13

    チェックボックスを選択すると、入力フィールドが表示されます。HTML

  14. 14

    Angular 7で複数のチェックボックスを検証する方法は?メッセージをスローする必要があります。少なくとも1つのチェックボックスをオンにする必要があります。

  15. 15

    チェックボックスが選択されていないすべてのグループで特定のラジオボタンを選択します

  16. 16

    PowerPoint 2010ドキュメントを保存すると、ドロップダウンリスト(コンボボックス)が表示されなくなります

  17. 17

    クリックすると、ブートストラップの選択が選択ボックスに表示されなくなります。マウスホバーでのみ表示されます

  18. 18

    PHPで確認するために、リダイレクトされたページにドロップダウンとチェックボックスで選択した値を表示するにはどうすればよいですか?

  19. 19

    phpコンボボックスとボタンはmysqldbに更新されると非表示になり、コンボボックスとボタンの場所の代わりに成功メッセージを表示する必要があります。

  20. 20

    リストビューアイテムのチェックボックスがチェックボックスの外をクリックして選択解除されないようにするにはどうすればよいですか?

  21. 21

    ドロップダウンボックスで行われたさまざまな選択に基づいて条件付きアラートメッセージをコンパイルする

  22. 22

    VBAへのアクセス:フォームのヘッダーまたはフッターの表示を変更すると、リストボックスオブジェクトの選択がクリアされます

  23. 23

    チェックボックス付きのリストがあります。チェックボックスがオンになっている場合にのみ、ビューモーダルの選択されたプロパティを呼び出します。

  24. 24

    選択したアイテムのIDが表示されない2つのドロップダウンを選択します。コントローラーバインドにアクセスするにはどうすればよいですか。

  25. 25

    Shinyappでタブが選択されているときに「modalDialog」ダイアログボックスを開く

  26. 26

    jQuery検証少なくとも1つのチェックボックスが選択されています

  27. 27

    ダイアログボックスがページの上部に表示されることはありません

  28. 28

    含まれているテキストが実行時に認識されない場合に、コード化されたUIでチェックリストボックスのアイテムコントロールを選択する

  29. 29

    最初にチェックボックスをクリックすると、モーダルポップアップウィンドウが表示されます。オンセカンドクリックでチェックボックスのチェックを外すにはどうすればよいですか?

ホットタグ

アーカイブ