Notice
Recent Posts
Recent Comments
Link
투케이2K
196. (java/자바) GUI (awt/swing) - JOptionPane 사용해서 팝업창 및 알림창 호출 실시 본문
/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : 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 : 메시지 입력 알림창입니다
/* =========================== */
반응형
'Java' 카테고리의 다른 글
Comments