관리 메뉴

nkdk의 세상

자바 Language 18일째 2번 다이얼로그를 이용함 본문

My Programing/JAVA

자바 Language 18일째 2번 다이얼로그를 이용함

nkdk 2008. 3. 8. 01:14
package Swing;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class Jdial extends JPanel implements ActionListener {
JButton btnR, btnG, btnB;

JMenuBar nbar;

JMenuItem mnuMes, mnuOk, mnuIn;

JTextArea txtArea = new JTextArea("구구단 출력", 10, 50);

public Jdial() {
this.setLayout(new BorderLayout());

JPanel pn = new JPanel();
btnR = new JButton("빨강");
btnG = new JButton("초록");
btnB = new JButton("파랑");
pn.add(btnR);
pn.add(btnG);
pn.add(btnB);
btnR.addActionListener(this);
btnG.addActionListener(this);
btnB.addActionListener(this);
this.add("Center", txtArea);
// txtArea.setEditable(false); // 편집 불가로 만든다.
// txtArea.setEnabled(false); // 상속 받은 현 메소드는 포커스도 가지지 못하는 비 활성화 시킨다.
this.add("South", pn);

// 메뉴
nbar = new JMenuBar();
JMenu menu = new JMenu("다이알로그(A)");
menu.setMnemonic(KeyEvent.VK_A);
mnuMes = new JMenuItem("메세지(B)");
mnuMes.setMnemonic(KeyEvent.VK_B);
mnuOk = new JMenuItem("확인(C)");
mnuOk.setMnemonic(KeyEvent.VK_C);
mnuIn = new JMenuItem("입력(D)");
mnuIn.setMnemonic(KeyEvent.VK_D);
menu.add(mnuMes);
menu.add(mnuOk);
menu.add(mnuIn);
nbar.add(menu);

mnuMes.addActionListener(this);
mnuOk.addActionListener(this);
mnuIn.addActionListener(this);
}

public Dimension getPreDimension() {
return new Dimension(400, 300);
}

public static void main(String[] args) {
JFrame frame = new JFrame("대화상자 연습");
Jdial jd = new Jdial();

frame.getContentPane().add(jd, "Center");
frame.setJMenuBar(jd.nbar);
frame.setSize(jd.getPreDimension());
frame.setLocation(200, 200);
frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void actionPerformed(ActionEvent e) {
if(e.getSource()==btnR)
txtArea.setBackground(Color.red);
if(e.getSource()==btnG)
txtArea.setBackground(Color.green);
if(e.getSource()==btnB)
txtArea.setBackground(Color.blue);
else if(e.getSource()==mnuMes)
JOptionPane.showMessageDialog(this, "메세지", "알림", JOptionPane.INFORMATION_MESSAGE);
else if(e.getSource()==mnuOk) {
int re;
re=JOptionPane.showConfirmDialog(this,"단추선택","골라",JOptionPane.YES_NO_CANCEL_OPTION);
switch(re) {
case JOptionPane.YES_OPTION:
JOptionPane.showMessageDialog(this, "예");
break;
case JOptionPane.NO_OPTION:
JOptionPane.showMessageDialog(this, "아니요");
break;
case JOptionPane.CANCEL_OPTION:
JOptionPane.showMessageDialog(this, "취소");
break;
}
}
else if(e.getSource()==mnuIn) {
String str=JOptionPane.showInputDialog(this, "단을 입력 하라", "정확히 입력하라 숫자로", JOptionPane.WARNING_MESSAGE);
// 구구단 출력을 시킴
}
}

public void guguDan(int su) {
// txtArea 에다가 구구단을 찍으세요.
}

}


// 다이얼 로그를 이용한다.