مدیریت و کنترل رویدادها در کامپوننتهای Swing با مدیریت و کنترل آنها در کامپوننتهای AWT تفاوت اساسی دارد. بطور کلی کامپوننت JTextField دارای 4 رویداد اصلی بوده که در این بخش به معرفی رویداد ActionListener میپردازیم.

نحوه استفاده و فراخوانی رویداد ActionListener

یک ActionListener در کامپوننت JTextField هنگامی فراخوانی میگردد که کاربر کلید Enter را بر روی JTextField فشار دهد, در این هنگام کامپوننت یک آبجکت از کلاس ActionEvent را به رویداد ActionListener ایجاد شده در قسمت کد برنامه ارسال میکند. مهمتریم خاصیت آبجکت ActionEvent خاصیت ActionCommand بوده که ارتباط مستقیمی با محتویات داخل JTextField داشته و متناسب با آن مقداردهی میگردد. در کامپوننت JTextField میتوانید مقدار خاصیت Action Command را با استفاده از متد setActionCommand مقداردهی کرده و یا آنرا تغییر دهید.

 برای آشنا شدن با رویداد ActionListener به برنامه زید توجه نمائید. 

در برنامه زیر هنگامی که کاربر بر روی JTextField کلید Enter را فشار دهد پیغام "Command is : Java" در پنجره Output چاپ خواهد شد. کدهای نوشته شده در زیر نحوه انجام این کار را نشان میدهد:

public class MainJFrame extends javax.swing.JFrame {
/** Creates new form MainJFrame */
      public MainJFrame() {
           initComponents();
      }
      private void initComponents() {
            ActionListener actionListener = new ActionListener (){
                  public void actionPerformed(ActionEvent evt){
                             System.out.println("Command " + evt.getActionCommand());
                  }
            };


            jTextField1 = new javax.swing.JTextField();
            jTextField1.setActionCommand("Java");
            jTextField1.addActionListener(actionListener);


            jTextField2 = new javax.swing.JTextField();
            jTextField2.addActionListener(actionListener);


           setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
           setTitle("ActionListener in JTextField");
           pack();
       }// </editor‐fold>

     

       private javax.swing.JTextField jTextField1;
       private javax.swing.JTextField jTextField2;
 
}

تصویر زیر نمایی از این برنامه نشان میدهد: