[Java] JFrame 버튼만들기

JTI·2022년 12월 12일
0

📌 Code list

목록 보기
35/55
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.*;

public class ButtonEx extends JFrame {
	
	public ButtonEx() {
		// 표 생성
		JPanel pnlNorth = new JPanel(new GridLayout(0, 1));
		
		// 버튼 하나 생성
		JButton b = new JButton();
		b.setText("button1");
		b.setEnabled(false); // 비활성화
		pnlNorth.add(b);
		
		// 버튼 다양하게
		JButton b2 = new JButton();
		ImageIcon icon = new ImageIcon("stop.png");
		b2.setIcon(icon);
		b2.setRolloverIcon(new ImageIcon("play.png"));
		b2.setPressedIcon(new ImageIcon("pause.png"));
		pnlNorth.add(b2);
		
		// 텍스트와 아이콘 가운데 정렬
		JButton b3 = new JButton(new ImageIcon("hand.png"));
		b3.setText("stop");
		b3.setHorizontalTextPosition(JButton.CENTER);
		b3.setVerticalTextPosition(JButton.TOP);
		pnlNorth.add(b3);
		
		//눌러지는 버튼
		JToggleButton tB = new JToggleButton("toggle button");
		tB.setIcon(new ImageIcon("stop.png"));
		tB.setSelectedIcon(new ImageIcon("pause.png"));
		tB.setHorizontalTextPosition(JButton.CENTER);
		tB.setVerticalTextPosition(JButton.TOP);
		tB.setToolTipText("눌러보세요"); // 설명문 넣기
		pnlNorth.add(tB);
		
		//체크박스
		JCheckBox ch1 = new JCheckBox("sleep");
		ch1.setToolTipText("그만자슈 !"); // 체크박스 설명문
		JCheckBox ch2 = new JCheckBox("game", true);
		JCheckBox ch3 = new JCheckBox("shopping", true);
		JCheckBox ch4 = new JCheckBox("study");
		
		JPanel pnlHobby = new JPanel(new FlowLayout(FlowLayout.LEFT));
		pnlHobby.add(new JLabel("your hobby is?: "));
		pnlHobby.add(ch1);
		pnlHobby.add(ch2);
		pnlHobby.add(ch3);
		pnlHobby.add(ch4);
		add(pnlNorth, BorderLayout.NORTH);
		add(pnlHobby, BorderLayout.CENTER);
		
		JRadioButton r = new JRadioButton("남자");
		JRadioButton r1 = new JRadioButton("여자");
		JRadioButton r2 = new JRadioButton("그 외");
		r2.setEnabled(false); // 라디오 비활성화
		
		// 버튼의 같은 그룹에 속해있다는 것을 표시 -> 중복 안되고 하나만 체크 가능
		ButtonGroup group = new ButtonGroup();
		group.add(r);
		group.add(r1);
		group.add(r2);

		JPanel pnlGender = new JPanel(new FlowLayout(FlowLayout.LEFT));
		pnlGender.add(new JLabel("당신의 성별은?: "));
		pnlGender.add(r);
		pnlGender.add(r1);
		pnlGender.add(r2);
		add(pnlGender, BorderLayout.SOUTH);
		
		// 창설정
		setTitle("buttonEx");
		pack();
		setLocationRelativeTo(null);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setVisible(true);
		
	}
	
	public static void main(String[] args) {
		new ButtonEx();
	}

}

profile
Fill in my own colorful colors🎨

0개의 댓글