package ch11;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DataEx1 {
public static void main(String[] args) {
Date d = new Date();
System.out.println(d);
//1970년 1월1일 초 1/1000
System.out.println(System.currentTimeMillis());
SimpleDateFormat sdf =
new SimpleDateFormat("yyyy년 MM월 dd일 hh시 mm분 ss초");
String str = sdf.format(d);
System.out.println(str);
}
}

package ch11;
import java.util.Calendar;
public class CalendarEx1 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.print("오늘의 날짜는 ");
System.out.print(cal.get(Calendar.YEAR) + "년");
System.out.print(cal.get(Calendar.MONTH) + 1 + "월");
// month는 0~10값 따라서 1을 더함.
System.out.print(cal.get(Calendar.DATE) + "일");
System.out.println();
int hour = cal.get(Calendar.HOUR);
int min = cal.get(Calendar.MINUTE);
int sec = cal.get(Calendar.SECOND);
int ampm = cal.get(Calendar.AM_PM);
if (ampm == Calendar.AM)
System.out.print("현재 시간은 AM ");
else
System.out.print("현재 시간은 PM ");
System.out.println(hour + "시 " + min + "분 " + sec + "초");
}
}





package awt;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class CheckboxEx1 extends MFrame
implements ItemListener{
Checkbox cb1, cb2, cb3;
Checkbox rb1, rb2, rb3;
CheckboxGroup grp;
public CheckboxEx1() {
super(220, 250);
add(cb1 = new Checkbox("선택1", false));
add(cb2 = new Checkbox("선택2", true));
add(cb3 = new Checkbox("선택3", false));
grp = new CheckboxGroup();
add(rb1 = new Checkbox("라디오1", grp, true));
add(rb2 = new Checkbox("라디오2", grp, true));
add(rb3 = new Checkbox("라디오3", grp, true));
cb1.addItemListener(this);
cb2.addItemListener(this);
cb3.addItemListener(this);
rb1.addItemListener(this);
rb2.addItemListener(this);
rb3.addItemListener(this);
setResizable(true);
validate();
}
@Override
public void itemStateChanged(ItemEvent e) {
Checkbox cb = (Checkbox)e.getSource();
String str = cb.getLabel() + " : " + cb.getState();
setTitle(str);
}
public static void main(String[] args) {
new CheckboxEx1();
}
}

package awt;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class ChoiceEx2 extends MFrame implements ItemListener {
String sair[] = { "대한항공", "아시아나", "에어부산", "진에어" };
String scity[] = { "서 울", "대 전", "대 구", "부 산", "제주도" };
Choice air, city;
public ChoiceEx2() {
super(300, 300, new Color(100, 200, 100));
air = new Choice();
city = new Choice();
for (int i = 0; i < sair.length; i++) {
air.add(sair[i]);
}
for (int i = 0; i < scity.length; i++) {
city.add(scity[i]);
}
add(air);
add(city);
air.addItemListener(this);
city.addItemListener(this);
add(new Label(" 항고사와 도시를 선택하세요"));
}
@Override
public void itemStateChanged(ItemEvent e) {
repaint();// 결과적으로 paint 호출
}
@Override
public void paint(Graphics g/* 붓 */) {
if (air == null || city == null)
return;//메소드 중간에 return 은 이후에 코드의 무력화(코드 실행 안됨)
g.setColor(Color.BLUE);
String str = "항공사 선택 : " + air.getSelectedItem();
g.drawString(str, 30, 120);
g.setColor(Color.RED);
str = "항공사 선택 : " + city.getSelectedItem();
g.drawString(str, 30, 150);
}
public static void main(String[] args) {
new ChoiceEx2();
}
}

package awt;
import java.awt.Choice;
import java.awt.Graphics;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class ChoiceEx3 extends MFrame implements ItemListener {
Choice name, star;
String ms[] = { "현 빈", "원 빈", "이민호", "김수현", "김우빈", "이종석" };
String fs[] = { "고아라", "이연희", "이하늬", "문채원", "수 지", "김연아" };
public ChoiceEx3() {
name = new Choice();
name.add("남자연예인");
name.add("여자연예인");
star = new Choice();
for (int i = 0; i < ms.length; i++) {
star.add(ms[i]);
}
add(name);
add(star);
name.addItemListener(this);
//name.addItemListener(this);
}
public void inputItem(Choice c, String item[]) {
c.removeAll();//star에 저장된 아이템 삭제
for (int i = 0; i < item.length; i++) {
c.add(item[i]);
}
}
@Override
public void itemStateChanged(ItemEvent e) {
if(name.getSelectedItem().equals("남자연예인"))
inputItem(star,ms);
else if(name.getSelectedItem().equals("여자연예인"))
inputItem(star,fs);
}
public static void main(String[] args) {
new ChoiceEx3();
}
}



package awt;
import java.awt.Canvas;
public class CanvasEx1 extends MFrame {
Canvas c;
public CanvasEx1() {
c= new Canvas();
c.setSize(100,100);
c.setBackground(MColor.rColor());
add(c);
}
public static void main(String[] args) {
new CanvasEx1();
}
}

package awt;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TextEx1 extends MFrame
implements ActionListener{
TextField tf1, tf2;
TextArea ta;
public TextEx1() {
super(250,300);
add(new Label("성명"));
add(tf1 = new TextField("홍길동", 20));
add(new Label("비번"));
add(tf2 = new TextField("", 20));
tf2.setEchoChar('*');
add(ta = new TextArea(10, 30));
ta.setEditable(false);
tf2.addActionListener(this);
validate();
}
@Override
public void actionPerformed(ActionEvent e) {
ta.append(tf1.getText()+" / "+tf2.getText());
tf1.setText("");
tf2.setText("");
tf1.requestFocus();
}
public static void main(String[] args) {
new TextEx1();
}
}

package awt;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TextEx2 extends MFrame implements ActionListener{
TextField tf;
TextArea ta;
Button btn;
public TextEx2() {
super(260, 300);
setTitle("MyChart v1.0");
setLayout(new BorderLayout());
add(ta = new TextArea(), "Center");
Color c[] = MColor.rColor2();
ta.setBackground(c[0]);
ta.setForeground(c[1]);
ta.setEditable(false);
//그룹 컨테이너
Panel p = new Panel();
p.add(tf = new TextField(22));
p.add(btn = new Button("SEND"));
tf.addActionListener(this);// Enter 이벤트
btn.addActionListener(this);// 클릭 이벤트
add(p, "South");
validate();
tf.requestFocus();//텍스트 필드에 강제로 커서 올려주는 메소드
}
@Override
public void actionPerformed(ActionEvent e) {
String str = tf.getText().trim();
if(str.length()==0)
str= "입력을하세요";
ta.append(str+"\n");
tf.setText("");
tf.requestFocus();
}
public static void main(String[] args) {
new TextEx2();
}
}

package awt;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Label;
import java.awt.Panel;
public class PanelEx1 extends MFrame {
Label label[] = new Label[3];
Button btn[] = new Button[3];
String str1[] = { "첫번째", "두번째", "세번째" };
String str2[] = { "Start", "Stop", "End" };
public PanelEx1() {
setLayout(new BorderLayout());
Panel p1, p2;
p1 = new Panel();
p1.setBackground(MColor.rColor());
for (int i = 0; i < label.length; i++) {
p1.add(label[i] = new Label(str1[i], Label.CENTER));
label[i].setBackground(MColor.rColor());
}
p2 = new Panel();
p2.setBackground(MColor.rColor());
for (int i = 0; i < btn.length; i++) {
p2.add(btn[i] = new Button(str2[i]));
btn[i].setBackground(MColor.rColor());
}
add(p1, BorderLayout.NORTH);
add(p2, BorderLayout.SOUTH);
}
public static void main(String[] args) {
new PanelEx1();
}
}

package awt;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DialogEx1 extends MFrame implements ActionListener{
Button btn;
String title = "메세지 대화상자";
public DialogEx1() {
super(300, 300);
setLayout(new BorderLayout());
add(btn = new Button("보이기"),BorderLayout.SOUTH);
setResizable(true);
btn.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
//System.out.println(getWidth());
//System.out.println(getHeight());
//System.out.println(getX());
//System.out.println(getY());
MyDialog md = new MyDialog(this, title, true);
//현재 frame의 좌표
int fx= getX();
int fy =getY();
//dialog 창크기
int width = 100;
int height = 150;
int x= fx+getWidth()/2-width/2;
int y= fy+getHeight()/2-height/2;
md.setBounds(x,y,width,height);
md.setVisible(true);
}
//내부클래스 : 외부클래스와 아주 밀접한 관계가 있는 클래스
class MyDialog extends Dialog implements ActionListener{
Button b;
public MyDialog(Frame owner, String title, boolean modal) {
super(owner, title ,modal);
setLayout(new FlowLayout());
b= new Button("확인");
b.addActionListener(this);
add(b);
}
@Override
public void actionPerformed(ActionEvent e) {
}
}
public static void main(String[] args) {
new DialogEx1();
}
}