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으로 형변환 해주면
텍스트도 사용할 수 있다
결과
너무 귀엽습니다 ~