簡體   English   中英

如何只用一個事件聽我的所有組件?

[英]How can I listen my all components with only one event?

這是問題,我有3個文本字段,3個按鈕和1個標簽。 他們的文字是text1,text2 text3,but1,but2,but3。

我舉一個關於我想做什么的例子; 當我雙擊按鈕時,按鈕會將標簽的文本更改為按鈕的文本。 我的意思是當我雙擊到but2時,標簽的文字應該是but2。

我可以用這個代碼做到這一點;

        MouseAdapter ml = new MouseAdapter() {
            public void mouseClicked(MouseEvent me) {
                if (me.getClickCount()==2) {

                 jLabel1.setText(jButton1.getText);

                }
            }
        };
        jButton1.addMouseListener(ml);

所以它可以工作,但它只適用於jButton1。 我必須為所有組件(文本字段和jbuttons)編寫不同的mouseListener。 我怎么能用一個聽眾做到這一點? 還是一件事? 你有什么主意嗎?

看一下MouseEvent#getSource ...雖然,老實說,如果你使用的是JButton你不應該使用MouseListener ,而應該使用ActionListener 另外,一般來說,大多數用戶不會雙擊JButton因為它們不直觀,按鈕只需要點擊一下即可激活

請記住,鍵盤也可以激活按鈕,不會通知MouseListener

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM