亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

選擇一個文本字段,然后單擊一個按鈕以在 Java 中向其發送文本

選擇一個文本字段,然后單擊一個按鈕以在 Java 中向其發送文本

千萬里不及你 2021-10-17 16:57:57
我有兩個文本字段和 1 個按鈕。我希望程序運行,以便我先單擊文本字段,然后單擊按鈕,按鈕會向活動/選定的文本字段發送一個文本“1”。有沒有辦法實現這一目標?非常感謝。
查看完整描述

1 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

有很多方法可以做你想要的,所以這里只是其中之一:


您需要為每個文本字段添加一個動作偵聽器,并讓它們設置一個公共變量(對文本字段的引用),以便您的代碼知道最后選擇哪個文本字段。然后,當您單擊按鈕時,您可以簡單地使用該變量來了解選擇了哪個文本字段并在末尾添加 1,或者執行您想做的任何其他操作,只需編輯事件即可。


示例代碼:


//Value to keep track of the last selected text field

public static JTextField lastClicked;

private static javax.swing.JButton jButton1;

private static javax.swing.JTextField jTextField1;

private static javax.swing.JTextField jTextField2;


public static void main(String args[])

{

    //Create and display the form

    java.awt.EventQueue.invokeLater(new Runnable()

    {

        public void run()

        {

            //Setup all the components

            jButton1 = new javax.swing.JButton("Click Me");

            jTextField1 = new javax.swing.JTextField("One");

            jTextField2 = new javax.swing.JTextField("Two");


            //Add listeners

            jButton1.addActionListener(new java.awt.event.ActionListener()

            {

                public void actionPerformed(java.awt.event.ActionEvent evt)

                {

                    //Add a 1 to the last selected text field

                    lastClicked.setText(lastClicked.getText() + "1");

                }

            });


            jTextField1.addFocusListener(new java.awt.event.FocusAdapter()

            {

                public void focusGained(java.awt.event.FocusEvent evt)

                {

                    //change the selected text field to this one

                    lastClicked = (JTextField) evt.getSource();

                }

            });


            jTextField2.addFocusListener(new java.awt.event.FocusAdapter()

            {

                public void focusGained(java.awt.event.FocusEvent evt)

                {

                    //change the selected text field to this one

                    lastClicked = (JTextField) evt.getSource();

                }

            });

        }

    });

}

請注意,在此示例中,我們將事件源強制轉換為文本字段lastClicked = (JTextField) evt.getSource(),因此這僅適用于文本字段。如果要使用其他組件,則應使用整數或對象作為變量類型。


查看完整回答
反對 回復 2021-10-17
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號