본문 바로가기
자바

자바 소스코드: 라디오 버튼 이벤트처리로 이미지 띄우기

by 드린 2016. 10. 28.

목차

    반응형
    package javaapplication33;
    
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.event.*;
    import javax.swing.*;
    
    class RadioEvent extends JFrame{
        JRadioButton[] r=new JRadioButton[3];
        String[] names={"사과", "배", "체리"};
        ImageIcon[] i={
            new ImageIcon("apple.jpg"),
            new ImageIcon("pear.jpg"),
            new ImageIcon("cherry.jpg")
        };
        JLabel la=new JLabel();
        RadioEvent(){
            this.setTitle("라디오버튼 이벤트처리");
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
            ButtonGroup bg=new ButtonGroup();
            
            this.setLayout(new BorderLayout());
            
            JPanel jp = new JPanel();
            jp.setBackground(Color.GRAY);
            
            for(int i=0; i<r.length; i++){
                r[i]=new JRadioButton(names[i]);
                bg.add(r[i]);
                r[i].addItemListener(new MyItemListener());
                jp.add(r[i]);
            }
            this.add(jp, BorderLayout.NORTH);
            this.add(la, BorderLayout.CENTER);
            la.setHorizontalAlignment(SwingConstants.CENTER);
            this.setSize(300,200);
            this.setVisible(true);
        }
        class MyItemListener implements ItemListener{
    
            @Override
            public void itemStateChanged(ItemEvent e) {
                if(e.getStateChange()==ItemEvent.DESELECTED){
                    return;
                }
                if(r[0].isSelected()){
                    la.setIcon(i[0]);
                }
                else if(r[1].isSelected()){
                    la.setIcon(i[1]);
                }
                else{
                    la.setIcon(i[2]);
                }
            }
            
        }
    }
    public class JavaApplication33 {
    
        public static void main(String[] args) {
            new RadioEvent();
        }
        
    }
    
    

    <결과>

    2016/10/28 - [자바] - 자바 소스코드: 라디오 버튼 예제

    2016/10/28 - [자바] - 자바 소스코드: 체크박스를 이용한 계산 프로그램

    2016/10/28 - [자바] - 자바 소스코드: 체크박스 예제

    #자바 #자바 소스코드 #라디오 버튼 #사과 #배 #체리 #이미지 아이콘 #자바 예제 #아이템 리스너

    반응형