27-3-2.Ãà¾àµÈ À̺¥Æ® ó¸®

À§ ¿¹Á¦ÀÇ ActionListenerImpl Ŭ·¡½º´Â ¿À·ÎÁö ActionListener ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϱâ À§ÇØ ¼±¾ðÇÑ °ÍÀÌ¸ç ´Ù¸¥ ¿ëµµ´Â ¾ø´Ù. ÀÌ·² ¶§´Â ±»ÀÌ À̸§±îÁö Áà °¡¸ç Ŭ·¡½º¸¦ Á¤ÀÇÇÒ ÇÊ¿ä ¾øÀÌ À͸í Ŭ·¡½º·Î ¼±¾ðÇϸé Äڵ尡 °£´ÜÇØÁø´Ù. ´ÙÀ½ ¿¹Á¦µµ ¶È°°ÀÌ µ¿ÀÛÇÑ´Ù.

 

click2

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

 

class JavaTest {

      public static void main(String[] args) {

             JFrame frame = new JFrame("First Swing Application");

             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

             frame.setPreferredSize(new Dimension(300,200));

             frame.setLocation(500, 500);

 

             JButton button = new JButton("Click");

             ActionListener listener = new ActionListener() {

                   public void actionPerformed(ActionEvent event) {

                         JOptionPane.showMessageDialog(null, "¹öÆ°À» Ŭ¸¯ÇÏ¿´½À´Ï´Ù.");

                   }

             };

             button.addActionListener(listener);

            

             Container cp = frame.getContentPane();

             cp.add(button);

             frame.pack();

             frame.setVisible(true);

      }

}

 

ActionListener ÀÎÅÍÆäÀ̽º¸¦ »ó¼Ó¹Þ¾Æ actionPerformed ¸Þ¼­µå¸¦ ÀçÁ¤ÀÇÇÏ´Â À͸í Ŭ·¡½ºÀÇ °´Ã¼ listener¸¦ »ý¼ºÇß´Ù. º¯¼ö ¼±¾ð¹®À̾ ¼¼¹ÌÄÝ·ÐÀ¸·Î ³¡³­´Ù. Ŭ·¡½º ¼±¾ð¹®ÀÌ »ç¶óÁ³°í »ó¼Ó°ú ¸Þ¼­µå ÀçÁ¤ÀǸ¦ ÇÑ ¹®Àå¿¡ ¼öÇàÇÒ ¼ö ÀÖ¾î Äڵ尡 ª´Ù. º¯¼ö ¼±¾ð¹® ¾È¿¡ ¸Þ¼­µå°¡ ÀÖ¾î ¾î·Á¿ö º¸À̴µ¥ °ü·Ã ¹®¹ýÀº À͸í Ŭ·¡½ºÆí¿¡¼­ ÀÌ¹Ì ¿¬±¸ÇØ º¸¾Ò´Ù.

ÀÌ Äڵ忡¼­ listener °´Ã¼µµ addActionListener ¸Þ¼­µå¿¡¼­ µü ÇÑ ¹ø¸¸ »ç¿ëµÈ´Ù. ÀÌ·± ŸÀÔÀÇ °´Ã¼¸¦ µÎ °³ ÀÌ»ó ¸¸µé ÇÊ¿ä°¡ ¾ø´Ù. ÀÌ·² ¶§´Â ±»ÀÌ º¯¼ö¸¦ ¼±¾ðÇÒ ÇÊ¿ä ¾øÀÌ ¸Þ¼­µåÀÇ Àμö ¸ñ·Ï¿¡¼­ Àӽà °´Ã¼¸¦ »ý¼ºÇÏ¿© Àü´ÞÇÏ´Â °ÍÀÌ °£ÆíÇÏ´Ù.

 

click3

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

 

class JavaTest {

      public static void main(String[] args) {

             JFrame frame = new JFrame("First Swing Application");

             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

             frame.setPreferredSize(new Dimension(300,200));

             frame.setLocation(500, 500);

 

             JButton button = new JButton("Click");

             button.addActionListener(new ActionListener() {

                   public void actionPerformed(ActionEvent event) {

                         JOptionPane.showMessageDialog(null, "¹öÆ°À» Ŭ¸¯ÇÏ¿´½À´Ï´Ù.");

                   }

             });

            

             Container cp = frame.getContentPane();

             cp.add(button);

             frame.pack();

             frame.setVisible(true);

      }

}

 

º¯¼ö ¼±¾ð¹®ÀÌ »ç¶óÁ³´Ù. ÀÌ ¿Ü¿¡µµ ActionListener ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ÀÓÀÇÀÇ Å¬·¡½º¸¦ ¼±¾ðÇØ µÎ°í ÀÌ Å¬·¡½ºÀÇ °´Ã¼¸¦ Àü´ÞÇÏ´Â ¹æ¹ýµµ ÀÖ´Ù. ¸®½º³Ê¸¦ ±¸ÇöÇÏ´Â ¿©·¯ °¡Áö ¹æ¹ýÀÌ Àִµ¥ Çü½ÄÀÌ ´Ù¸¦ »Ó °á±¹ °°Àº ÄÚµåÀÓÀ» ÀÌÇØÇØ¾ß ÇÑ´Ù. ¹®¹ýÀÌ Çã¿ëÇÏ´Â ÇÑ¿¡¼­ °¡Àå °£´ÜÇÑ ¹æ¹ýÀ» »ç¿ëÇÏ¸é µÈ´Ù.

¹öÆ°ÀÇ ¾×¼Ç À̺¥Æ®¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» ¿¬±¸ÇØ ºÃÀ¸´Ï ÀÌÁ¦ ´õ ½ÇÁúÀûÀÎ ¿¹Á¦¸¦ ¸¸µé¾î º¸ÀÚ. ´ÙÀ½ ¿¹Á¦´Â ·¹À̺í Çϳª¿Í ¹öÆ° µÎ °³¸¦ ¹èÄ¡ÇÏ°í ÀÌ ¹öÆ°À» ´©¸¦ ¶§ ·¹À̺íÀÇ Ä¸¼ÇÀ» º¯°æÇÑ´Ù. Ŭ¸¯ À̺¥Æ®¿¡ ¹ÝÀÀÇÏ¿© ¹º°¡ µ¿ÀÛÀ» ÇÏ´Â ¿¹¸¦ º¸¿©ÁÖ´Â °ÍÀÌ´Ù.

 

appleorange

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

 

class JavaTest {

      public static void main(String[] args) {

             JFrame frame = new JFrame("First Swing Application");

             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

             frame.setPreferredSize(new Dimension(300,200));

             frame.setLocation(500, 500);

 

             Container cp = frame.getContentPane();

             BoxLayout layout = new BoxLayout(cp, BoxLayout.Y_AXIS);

             cp.setLayout(layout);

 

             JLabel fruit = new JLabel("Fruit");

             cp.add(fruit);

            

             JPanel panel = new JPanel();

             FlowLayout flow = new FlowLayout();

             panel.setLayout(flow);

 

             JButton btnApple = new JButton("Apple");

             btnApple.addActionListener(new ActionListener() {

                   public void actionPerformed(ActionEvent event) {

                         fruit.setText("Apple");

                   }

             });

             panel.add(btnApple);

 

             JButton btnOrange = new JButton("Orange");

             btnOrange.addActionListener(new ActionListener() {

                   public void actionPerformed(ActionEvent event) {

                         fruit.setText("Orange");

                   }

             });

             panel.add(btnOrange);

            

             cp.add(panel);

             frame.pack();

             frame.setVisible(true);

      }

}

 

µÎ ¹öÆ°¿¡ ´ëÇÑ ¾×¼Ç À̺¥Æ® ¸®½º³Ê°¡ °¢°¢ Çϳª¾¿¸¸ ÇÊ¿äÇϹǷΠÀ͸í Ŭ·¡½ºÀÇ Àӽà °´Ã¼¸¦ Àü´ÞÇÏ´Â °£ÆíÇÑ Äڵ带 »ç¿ëÇß´Ù. ÃÖÃÊ ½ÇÇà½Ã ·¹À̺íÀÇ Ä¸¼ÇÀÌ Fruit·Î Ç¥½ÃµÈ´Ù.

¹öÆ°À» Ŭ¸¯Çϸé ÇØ´ç ¹öÆ°ÀÇ ¾×¼Ç Çڵ鷯°¡ È£ÃâµÇ¾î ¹öÆ°ÀÇ Ä¸¼ÇÀ» ·¹ÀÌºí¿¡ Ãâ·ÂÇÑ´Ù. Apple ¹öÆ°À» ´©¸£¸é ·¹À̺íÀÇ Ä¸¼ÇÀÌ Apple·Î ¹Ù²î¸ç Orange ¹öÆ°À» ´©¸£¸é ·¹ÀÌºíµµ Orange·Î ¹Ù²ï´Ù.

 

¾×¼Ç À̺¥Æ®·Î ¸®½º³Ê ±¸Çö ¹æ¹ýÀ» ¿¬±¸ÇØ º¸¾Ò´Âµ¥ ÄÄÆ÷³ÍÆ®¸¶´Ù ¹ß»ý °¡´ÉÇÑ À̺¥Æ®ÀÇ Á¾·ù´Â ´Ù¾çÇÏ´Ù. ±×·¯³ª À̺¥Æ®¸¦ ó¸®ÇÏ´Â ¿ø·ÐÀûÀÎ ¹æ¹ýÀº °ÅÀÇ ºñ½ÁÇؼ­ À§ ¿¹Á¦¸¸ Á¦´ë·Î ÀÌÇØÇÏ¸é ´Ù¸¥ ÄÄÆ÷³ÍÆ®ÀÇ À̺¥Æ®µµ ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ´Ù.