JAVA

JComboBox 로 이미지 출력하기

소힌 2022. 2. 13. 15:17
import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

class TestJComboBox extends JFrame {

	ImageIcon jordy = new ImageIcon("죠르디.png");
	ImageIcon scappy = new ImageIcon("스카피.png");
	ImageIcon angmond = new ImageIcon("앙몬드.png");

	public TestJComboBox() {
		super("콤보박스 연습");

		JPanel Main = new JPanel();
		String[] niniz = { "죠르디", "스카피", "앙몬드" };
		ImageIcon[] ninizPic = { jordy, scappy, angmond };
		JComboBox box = new JComboBox(niniz);
		Main.add(box, "North");

		JLabel ninizFace = new JLabel();
		ninizFace.setPreferredSize(new Dimension(400, 400));

		box.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				int index = box.getSelectedIndex();

				ninizFace.setIcon(ninizPic[index]);

			}
		});

		Main.add(ninizFace, "South");
		add(Main);
		setSize(500, 500);
		setDefaultCloseOperation(EXIT_ON_CLOSE);

	}
}

public class Main {
	public static void main(String[] args) {
		new TestJComboBox().setVisible(true);
	}
}

 

 

+ 나는 JCombo박스의 텍스트는 필요하지 않아서 사용하지 않았지만 

String s = (String) box.getSelectedItem();

Object 타입으로 반환하는 getSelectedItem()을 사용하여 String으로 형변환 해주면

텍스트도 사용할 수 있다 

 

 

 

결과 

 

너무 귀엽습니다 ~