투케이2K

196. (java/자바) GUI (awt/swing) - JOptionPane 사용해서 팝업창 및 알림창 호출 실시 본문

Java

196. (java/자바) GUI (awt/swing) - JOptionPane 사용해서 팝업창 및 알림창 호출 실시

투케이2K 2021. 4. 7. 14:51

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

package ex5;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

public class MainActivity14 {
	
	//TODO 전역변수 생성 부분
	static JLabel txt;
	static JButton open_btn;
	
	//TODO 메인 메소드 시작 부분
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[GUI (awt/swing) - JOptionPane 사용해서 팝업창 및 알림창 호출 실시]");
		
		/*[설 명]
		 * 1. 자바에서는 JFrame을 사용해서 GUI 프로그램을 만들 수 있습니다
		 * 2. showConfirmDialog : 질문 알림창입니다
		 * 3. showMessageDialog : 기본 알림창입니다
		 * 4. showInputDialog : 메시지 입력 알림창입니다 
		 * */	
		
		//TODO 부모 프레임 생성
		JFrame frm = new JFrame("팝업창 및 알림창 호출");
 
		//TODO 부모 프레임 크기 설정 (가로, 세로)
		frm.setSize(500, 500);
 
		//TODO 부모 프레임을 화면 가운데에 배치
		frm.setLocationRelativeTo(null);
 
		//TODO 부모 프레임을 닫았을 때 메모리에서 제거되도록 설정
		frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		//TODO 부모 프레임 창 크기 고정 실시
		frm.setResizable(false);
 
		//TODO 부모 레이아웃 설정
		frm.getContentPane().setLayout(null);

		//TODO 자식 레이아웃 [라벨 텍스트] 생성
		txt = new JLabel("DATA");
		txt.setBounds(0, 0, 500, 100); //TODO setBounds(가로위치, 세로위치, 가로길이, 세로길이);
		txt.setOpaque(true); //TODO setBackground 적용하기 위한 선행 설정
		txt.setBackground(Color.LIGHT_GRAY); //TODO 백그라운드 색상 정의
		txt.setForeground(Color.WHITE); //TODO 텍스트 색상 정의
		txt.setFont(new Font("맑은 고딕", 0, 20)); //TODO 폰트 정의
		txt.setHorizontalAlignment(JLabel.CENTER); //TODO 텍스트 센터 표시 설정
		
		//TODO 자식 레이아웃 [버튼] 생성
		open_btn = new JButton("팝업창 호출");
		open_btn.setBounds(0, 100, 500, 100); //TODO setBounds(가로위치, 세로위치, 가로길이, 세로길이);	
		open_btn.setBackground(Color.BLACK); //TODO 백그라운드 색상 정의
		open_btn.setForeground(Color.WHITE); //TODO 텍스트 색상 정의
		open_btn.setFont(new Font("맑은 고딕", 0, 20)); //TODO 폰트 정의
		open_btn.setHorizontalAlignment(JLabel.CENTER); //TODO 텍스트 센터 표시 설정						
		
		//TODO 자식 레이아웃 이벤트 정의 실시		
		ActionListener action = new ActionListener(){			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub	
				if (e.getActionCommand().equals("팝업창 호출")) { //TODO 팝업창 호출 버튼 클릭이벤트 처리	
					/** TODO [메시지 입력 알림창]
					String data = new JOptionPane().showInputDialog("메시지를 입력해주세요");
					txt.setText(data);
					*/
					
					/** TODO [질문 알림창]*/ 
					int qut_data = JOptionPane.showConfirmDialog(frm, "질문 알림창입니다 !! ","TITTLE", JOptionPane.YES_NO_CANCEL_OPTION);
					if(qut_data == 0) {
						txt.setText("[예] 버튼 클릭됨");	
					}
					else if(qut_data == 1) {
						txt.setText("[아니오] 버튼 클릭됨");
					}
					else if(qut_data == 2){
						txt.setText("[취소] 버튼 클릭됨");
					}
					
					
					/** TODO [기본 알림창]
					JOptionPane.showMessageDialog(frm, "기본 알림창입니다 !! ");
					*/
					
					/** TODO [경고 알림창] 
					JOptionPane.showMessageDialog(frm, "경고 알림창입니다 !! ","TITTLE", JOptionPane.WARNING_MESSAGE);
					*/
					
					/** TODO [정보 알림창]
					JOptionPane.showMessageDialog(frm, "정보 알림창입니다 !! ","TITTLE", JOptionPane.INFORMATION_MESSAGE);
					*/
					
					/** TODO [오류 알림창]
					JOptionPane.showMessageDialog(frm, "오류 알림창입니다 !! ","TITTLE", JOptionPane.ERROR_MESSAGE);
					*/
				}			
			}
		};
		open_btn.addActionListener(action);
				
		//TODO 부모 프레임에다가 자식 컴포넌트 추가
		frm.getContentPane().add(txt);
		frm.getContentPane().add(open_btn);
		
		//TODO 부모 프레임이 보이도록 설정
		frm.setVisible(true);
		
	}//메인 종료

}//클래스 종료

/* =========================== */

[결과 출력]

/* =========================== */

/* =========================== */

[요약 설명]

* 1. 자바에서는 JFrame을 사용해서 GUI 프로그램을 만들 수 있습니다

* 2. showConfirmDialog : 질문 알림창입니다

* 3. showMessageDialog : 기본 알림창입니다

* 4. showInputDialog : 메시지 입력 알림창입니다

/* =========================== */

반응형
Comments