본문 바로가기
카테고리 없음

Java GUI (커피 사이즈 선택)

by hjshims 2021. 6. 21.
package p0621coffee;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.border.Border;

class CoffeeSize extends JFrame{
	JPanel panel, panel2, panel3;
	JLabel label, label2;
	JRadioButton small, medium, large;
	ButtonGroup group;
	
	public CoffeeSize(){
		setTitle("라디오 버튼 커피 사이즈 선택");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 250);
		
		panel = new JPanel();
		label = new JLabel("어떤 크기의 커피를 주문하시겠습니까?");
		panel.add(label);
		//add(label);
		add(panel,BorderLayout.NORTH);
		
		//중간 패널에 그룹 경계선 (Border 객체)
		Border border = BorderFactory.createTitledBorder("크기");

		panel2 = new JPanel();
		small = new JRadioButton("Small Size");
		medium = new JRadioButton("Medium Size");
		large = new JRadioButton("Large Size");
		
		group = new ButtonGroup();	//그냥 그룹으로만 묶은거, 화면에 띄우는게 아님
		group.add(small);
		group.add(medium);
		group.add(large);
		
		panel2.setBorder(border);	//생성한 객체를 사용하려면 setBorder로 쓰기
		panel2.add(small);
		panel2.add(medium);
		panel2.add(large);
		add(panel2,BorderLayout.CENTER);

		panel3 = new JPanel();
		label2 = new JLabel("크기가 선택되지 않았습니다.");
		panel3.add(label2);
		add(panel3,BorderLayout.SOUTH);
		
		small.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				label2.setText("Small Size가 선택되었습니다.");
			}
		});
		medium.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				label2.setText("medium Size가 선택되었습니다.");
			}
		});
		large.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				label2.setText("large Size가 선택되었습니다.");
			}
		});
		
		setVisible(true);
	}
}

public class CoffeeEx {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new CoffeeSize();
	}

}

 

 

<출력결과>