S.S.G

Action 이벤트를 이용한 콤보박스 본문

코딩/JAVA

Action 이벤트를 이용한 콤보박스

자유로운개발 2016. 7. 5. 10:33
반응형

"사과", "배", "체리" 의 3개의 과일 이름을 가진 콤보박스 컴포넌트를 만들고 사용자가 과일을 선택하면 해당하는 이미지를 콤보박스 옆에 출력하는 프로그램 만들어 보기.

 


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.*;

public class Test extends JFrame {
     Container contentPane;
     String[] fruit = { "사과", "배", "체리" };
     ImageIcon[] images = { new ImageIcon("images/apple.jpg"),   new ImageIcon("images/pear.jpg"),
       new ImageIcon("images/cherry.jpg") };

 

     JLabel imgLabel = new JLabel(images[0]);

     Test() {

  setTitle("ComboBox");
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  contentPane = getContentPane();
  contentPane.setLayout(new FlowLayout());

 

  JComboBox strCombo = new JComboBox(fruit); // 콤보박스 생성

  strCombo.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent e) {
            JComboBox cb = (JComboBox) e.getSource(); // 콤보박스 알아내기

                  int index = cb.getSelectedIndex();// 선택된 아이템의 인덱스

            imgLabel.setIcon(images[index]); // 인덱스의 이미지를 이미지 레이블에 출력
       }
  });

       contentPane.add(strCombo);
       contentPane.add(imgLabel);

 setSize(600, 500);
 setVisible(true);

 }

 

 public static void main(String arg[]) {

  new Test();
 }
}

 

실행 결과

 


반응형