import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;


public class Review {
	String name="park";
	
	public static void main(String[] args) {
		//
		/* */
		
		// 주석 ctrl + shift + /  or c
		int a=1;
		float b=55f;
		double c=555.555555;
		char d='a';
		String e="abcefg";
		
		String f=e.concat("!!");  //f = abcefg!!
		
		if(f.contains("e")){  //조건 true/false 
			
		}else if(true){
			
		}else if(true){
			
		}
		else System.out.println("한줄 else일때 ");
		
		switch(a){
		case 1:  
			break; //switch문을 빠져나오기 
		case -55: 
			
		}
		for( int i=0  ; i<5   ; i++  )  {
			System.out.println(i);
		}
		int i=10;
		
		for(  i = i-1 ; i>0  ; i-- ) {
			System.out.println(i); // 9 ~ 1 까지 출력 
		}
		
		//확장 for문 사용할 경우 collection, 배열
		int[] numbers={0,1,2,3,4};
		//numbers[4];
		for (  int temp :  numbers ) { // 사이즈를 알 필요가 없다.
			System.out.print(temp);
		}
		
		for (  i=0 ; i< numbers.length ; i++){			
		}		
		
		try{
			// 예외가 발생할 수 있는 구문 
			// 예외 발생하면 예외객체 생성후 catch()호출
			// 씻는다
			// 밥먹는다
			// 화장한다
			//..
			// 문잠근다. 
		}catch(Exception ex){
			// 예외가 발생할때 처리문... 
		}finally{
			// 마지막 안전장치 용도로 사용 
			// 외출할 때 집 문 잠그기 
			//if(문이 열렸니?) 문잠그기
		}
		
		Scanner scan=new Scanner(System.in);
		//scan.next();
		//scan.nextInt();
		
		// 스레드 
		
		new Dog().start();// run안의 있는 내용을 모두 실행
		
		//컬렉션 :  set , list , map
		// 셋  -  순서 없고, 중복 허용하지 않음
		// list - 순서가 있고, 중복이 됩니다
		// map - <키, value> 맵객체.put(키, 밸류)
		// 변수타입 밸류 = 맵객체.get(키); 
		//
		
		// JDBC java database connectivity
		// 1. 데이터베이스 드라이버 로드
		// 2. Connection con = 연결 ( ip, port, db이름, password);
		// con.메서드사용 
		
		new Date(); // 시간
		Calendar cal=Calendar.getInstance(); // 스태틱 메서드로 생성
		cal.get(Calendar.MINUTE); //지금 몇분?
		
		SimpleDateFormat sdf=
				new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		String time = sdf.format(new Date());
		
		// input - output    바이트(Stream)와 그외(Reader/writer)
		
		// inputStream  OutputStream
		//InputStreamReader 
		//OutputStreamWriter
		File file=new File("c:\\abc.txt");
		/*try {
			new FileInputStream(file).read();
		} catch (FileNotFoundException e1) {
			
		}*/
		
	}
	
	// 내부 클래스 inner class
	class Student{
		public Student(){ // 생성자 메서드
			// 위메서드 호출 : new Student();
		}
		// 생성자 오버로딩 
		public Student(int k){			
			
		}
		
		
	}

}
// 외부 클래스 
class Dog extends Thread{
	
	@Override
	public void run() {
		// 스레드가 할 일 다 적어두기 
		super.run();
	}
}

interface Cat{  //인터페이스 
	public void cry();
}


'Java > 2012.04 강좌' 카테고리의 다른 글

17일차 Date 클래스  (0) 2012.04.26
17일차 mysql을 이용한 db 연결  (0) 2012.04.26
17일차 Mysql 설치  (0) 2012.04.26
16일차 Swing - 입력값 가져오기, 다이얼로그  (1) 2012.04.25
16일차 Swing  (0) 2012.04.25
package com.lee;

import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;

public class DateStudy {
	
	public static void main(String[] args){
		//class Date
		Date date = new Date(2012,04,29);
		
		System.out.println(date);
		System.out.println(date.getMonth());
		
		/* 객체 생성 없이 메소드 생성 가능 한 이유
		(synchronized static Calendar	: getInstance()
			- Constructs a new instance of the Calendar subclass 
			appropriate for the default Locale.)*/
		Calendar cal = Calendar.getInstance();
		System.out.println(cal);
		System.out.println("DAY_OF_MONTH "+cal.get(Calendar.DAY_OF_MONTH));
		
		System.out.println("YEAR "+cal.get(Calendar.YEAR));
		System.out.println("MONTH "+cal.get((Calendar.MONTH)+1));//+1 Array 때문
		System.out.println("HOUR "+cal.get(Calendar.HOUR));
		System.out.println("MINUTE "+cal.get(Calendar.MINUTE));
		System.out.println("SECOND "+cal.get(Calendar.SECOND));
		
		//1.표현하고 싶은 모양을 정하고
		//2.format 메서드 사용                  //   년   달  일  시  분  초
		SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		
		String time =sdf.format(new Date());
		System.out.println(time);
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

JAVA 복습  (0) 2012.04.30
17일차 mysql을 이용한 db 연결  (0) 2012.04.26
17일차 Mysql 설치  (0) 2012.04.26
16일차 Swing - 입력값 가져오기, 다이얼로그  (1) 2012.04.25
16일차 Swing  (0) 2012.04.25
package com.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class HiSQL {

	/* 1. JDBC 드라이버 로드
	 * 2. DB 연결 */

	public static void main(String[] args) {
		try{
			//1. 드라이버 로드
			Class.forName("com.mysql.jdbc.Driver");
			// 오라클의 경우, MS-SQL,
			//Class.forName("oracle.jdbc.driver.OracleDriver");

			//2. DB연결 
			//url: ip와 port 번호와 사용할 database
			String url="jdbc:mysql://localhost:3306/test";
			String id="root";//id : 사용자 계정
			String pw="1234";//pw : 사용자 비밀번호

			Connection con = DriverManager.getConnection(url,id,pw);
			System.out.println("연결선공");
			System.out.println(con.toString());

			//3. 테이블 만들기(명령문 만들고 보낸다)
			String sql="CREATE TABLE if not exists MEMOJANG";
			sql+="(no INTEGER, text varchar(30))";

			//진술 sql 명령문을 말한다
			Statement state=con.createStatement();

			//sql명령을 날린다.
			state.execute(sql);

			System.out.println("테이블 생성 완료");
			/* (CMD창에서 확인)
			 * mysql -u root -h localhost -p
			 * use test;
			 * show tables;
			 * desc memojang;
			 * (그림1 참조)
			 */

			//insert 명령을 날린다.
			sql="INSERT INTO memojang";
			sql+="(no,text) values (2,\"im java\");";//(그림 2 참조)

			boolean ok = state.execute(sql);
			if(ok){System.out.println("결과를 반환헀다.");
			}else{System.out.println("결과를 반환안함");
			}
			
			//select 명령을 날리면 리턴 결과를 받아서 화면에 출력한다.
			sql="SELECT * from memojang;";
			ResultSet set =state.executeQuery(sql);
			while(set.next()){//다음것 있음?
				//"no"라는 column 값을 가져와라
				System.out.print(set.getString("no"));
				System.out.println(set.getString("text"));
			}
		}catch(Exception e){
			System.out.println("연결실패");
		}
	}
}







"insert into memojang (no,text) values (1,"hi");" cmd 창에서 실행한것

그리고 밑에 2번째 값은 eclipse에서 실행 

그걸 cmd창에서 확인 


'Java > 2012.04 강좌' 카테고리의 다른 글

JAVA 복습  (0) 2012.04.30
17일차 Date 클래스  (0) 2012.04.26
17일차 Mysql 설치  (0) 2012.04.26
16일차 Swing - 입력값 가져오기, 다이얼로그  (1) 2012.04.25
16일차 Swing  (0) 2012.04.25

알아서 읽어보고  skip하기~~~














path 설정을 해주고  cmd 창에 mysql -u root -h localhost -p 


이클립스가 어디 jre를 쓰고 있나 path 확인



jar파일을 여기 경로에 복사해주자~~


'Java > 2012.04 강좌' 카테고리의 다른 글

17일차 Date 클래스  (0) 2012.04.26
17일차 mysql을 이용한 db 연결  (0) 2012.04.26
16일차 Swing - 입력값 가져오기, 다이얼로그  (1) 2012.04.25
16일차 Swing  (0) 2012.04.25
16일차 입&출력4  (0) 2012.04.25
package com.lee;

import java.awt.GridLayout;
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;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class JFrameStudy extends JFrame{
	
	JTextField name,age;//클래스 변수로 선언
	
	public JFrameStudy(){
		//new JFrame();생략됨 나자신이니까 쓸수 없음
		
		this.setDefaultCloseOperation(
				JFrame.EXIT_ON_CLOSE);//프레임 완전하게 끄기
		this.setSize(300,200);
		this.setVisible(true);
		
		//Layout 배치설정자
		this.setLayout(new GridLayout(5,2));
		add(new JLabel("   !"));
		
		JPanel panel1 = new JPanel();
		panel1.add(new JLabel("  이름 :"));
		name=new JTextField(20);
		panel1.add(name);
		
		JPanel panel2 = new JPanel();
		panel2.add(new JLabel("  나이 :"));
		age =new JTextField(3);
		panel2.add(age);
		
		this.add(panel1);
		add(panel2);
		JButton button = new JButton("확인");
		add(button);
		this.setVisible(true);
		//버튼 리스너 연결
		button.addActionListener(new Listener(this));
	}
	
	class Listener implements ActionListener{
		JFrame frame;
		public Listener(JFrame f){
			frame =f;
		}
		@Override
		public void actionPerformed(ActionEvent arg0) {
			//버튼을 누르면 이쪽으로 제어가 이동
			System.out.println(arg0.getActionCommand());
			String n =name.getText();
			System.out.println(n);
			String a =age.getText();
			System.out.println(a);
			
			//다이얼로그
			JOptionPane.showMessageDialog(frame, n+a);
		}
	}
	public static void main(String[] args) {
		new JFrameStudy();
	}
}





'Java > 2012.04 강좌' 카테고리의 다른 글

17일차 mysql을 이용한 db 연결  (0) 2012.04.26
17일차 Mysql 설치  (0) 2012.04.26
16일차 Swing  (0) 2012.04.25
16일차 입&출력4  (0) 2012.04.25
16일차 파일속성 보기  (0) 2012.04.25
package com.lee;

import java.awt.GridLayout;
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.JPanel;
import javax.swing.JTextField;

public class JFrameStudy extends JFrame{

	public JFrameStudy(){
		//new JFrame();생략됨, 나자신이니까 쓸수 없음
		
		this.setDefaultCloseOperation(
				JFrame.EXIT_ON_CLOSE);//프레임 완전하게 끄기
		this.setSize(300,200);
		this.setVisible(true);
		
		//Layout 배치설정자
		this.setLayout(new GridLayout(5,2));
		add(new JLabel("   !"));
		
		JPanel panel1 = new JPanel();
		panel1.add(new JLabel("  이름 :"));
		panel1.add(new JTextField(20));
		
		JPanel panel2 = new JPanel();
		panel2.add(new JLabel("  나이 :"));
		panel2.add(new JTextField(3));
		
		this.add(panel1);
		add(panel2);
		JButton button = new JButton("확인");
		add(button);
		this.setVisible(true);
		//버튼 리스너 연결
		button.addActionListener(new Listener());
	}
	
	class Listener implements ActionListener{
		@Override
		public void actionPerformed(ActionEvent arg0) {
			//버튼을 누르면 이쪽으로 제어가 이동
			System.out.println(arg0.getActionCommand());
		}
	}
	public static void main(String[] args) {
		new JFrameStudy();
	}
}


확인 버튼을 누르면 콘솔 창에 확인이 출력~~







'Java > 2012.04 강좌' 카테고리의 다른 글

17일차 Mysql 설치  (0) 2012.04.26
16일차 Swing - 입력값 가져오기, 다이얼로그  (1) 2012.04.25
16일차 입&출력4  (0) 2012.04.25
16일차 파일속성 보기  (0) 2012.04.25
16일차 입&출력3  (0) 2012.04.25
package com.lee;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;

public class Exam3 {

	public static void main(String[] args) {
		//바이트 단위 -> 문자 단위
		try{
			/*InputStream is = System.in;
			InputStreamReader isr=new InputStreamReader(is);
			BufferedReader br = new BufferedReader(isr);*/

			/*InputStreamReader isr = new InputStreamReader(System.in);
			BufferedReader br = new BufferedReader(isr);*/

			BufferedReader br = 
					new BufferedReader(new InputStreamReader(System.in));

			System.out.println("이름을 입력하세요");
			String name = br.readLine();//buffer를 사용해서 한줄씩 출력.

			System.out.println("닉네임을 입력하세요");
			String nick= br.readLine();
			//체팅서버에 사용되는 패턴
			/*while((nick = br.readLine()) !=null){
				System.out.println("입력내용: "+nick);
			}*/

			File file = new File("c:\\fileText.txt");
			FileWriter fw =new FileWriter(file);
			fw.write("name: "+name);
			fw.write("nick: "+nick);
			fw.flush();
			fw.close();
			System.out.println("파일 저장 완료");

		}catch(Exception e){
			System.out.println("파일 저장 실패");
		}
	}
}





'Java > 2012.04 강좌' 카테고리의 다른 글

16일차 Swing - 입력값 가져오기, 다이얼로그  (1) 2012.04.25
16일차 Swing  (0) 2012.04.25
16일차 파일속성 보기  (0) 2012.04.25
16일차 입&출력3  (0) 2012.04.25
16일차 입&출력2  (0) 2012.04.25
package com.lee;

import java.io.File;
import java.util.Date;

public class FileStudy {

	public static void main(String[] args){
		File file=new File("c:\\windows\\부채.bmp");

		try{
			System.out.println("AbsolutePath-"+file.getAbsolutePath());
			System.out.println("Path-"+file.getPath());
			System.out.println("CanonicalPath-"+file.getCanonicalPath());
			System.out.println("최근 수정일"+file.lastModified());
			System.out.println("최근 수정일"+new Date(file.lastModified()));
			System.out.println("파일 사이즈"+file.length());
			System.out.println("읽기 속성"+file.canRead());
			System.out.println("쓰기 속성"+file.canWrite());
			System.out.println("숨김 속성"+file.isHidden());
		}catch(Exception e){

		}
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

16일차 Swing  (0) 2012.04.25
16일차 입&출력4  (0) 2012.04.25
16일차 입&출력3  (0) 2012.04.25
16일차 입&출력2  (0) 2012.04.25
16일차 입&출력  (0) 2012.04.25
package com.lee;

import java.io.FileOutputStream;
import java.io.FileInputStream;

public class Exam2 {

	public static void main(String[] args){
		//InputStream is = System.in;
		int data=0;
		FileOutputStream fos =null;//통로.관.파이프

		try{
			FileInputStream is = new FileInputStream("c:\\windows\\부채.bmp");
			fos=new FileOutputStream("c:\\test.bmp");
			/*String content = "Hello FileOutputStream";
			   byte[] cont =content.getBytes();//형변환
			 */			
			while((data = is.read()) != -1){
				fos.write(data);//데이터 보내라
			}
		}catch(Exception e){
		}
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

16일차 입&출력4  (0) 2012.04.25
16일차 파일속성 보기  (0) 2012.04.25
16일차 입&출력2  (0) 2012.04.25
16일차 입&출력  (0) 2012.04.25
16일차 GUI -색깔 입히기 폰트 도형그리기  (0) 2012.04.25
package com.lee;

import java.io.InputStream;
import java.io.FileOutputStream;

public class Exam2 {
	
	public static void main(String[] args){
		InputStream is = System.in;
		int data=0;
		FileOutputStream fos =null;//통로.관.파이프
		
		try{
			fos=new FileOutputStream("c:\\test.txt");
			String content = "Hello FileOutputStream";
			byte[] cont =content.getBytes();//형변환
			
			fos.write(cont);//데이터 보내라
			
		}catch(Exception e){
			
		}
	}
}

콘솔창에 출력되는건 없고 c:\에 지정한 곳에 "text.txt" 파일이 생성된다.


package com.lee;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class Exam1 {

	public static void main(String[] args){

		System.out.println("입력하세요");

		InputStream is = System.in;

		try{//input ,output 기능은 모두 try에서 한다.
			int x=0;
			//read() : 한 바이트를 읽는다.
			while((x=is.read()) != -1){
				System.out.print((char)x);
			}
		}catch (IOException e) {
		}

		OutputStream os = System.out;
		int read=0;
		
		try {
			while((read = is.read()) != -1){
				os.write(read);
			}
		} catch (IOException e) {
		}
	}
}
//IO(Input,Output)
//InputStream () 예 : 파일을 읽을 때
//OutputSteam    예 : 파일을 만들 때



package com.awtStudy;

import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.Font;

public class GUIstudy extends Frame{
	int x=300;
	int y=200;
	
	public static void main(String[] args) {
		new GUIstudy();
	}
	
	public GUIstudy(){
		this.setSize(x, y);
		setVisible(true);
		
		addWindowListener(new WindowAdapter(){
			
			@Override
			public void windowClosing(WindowEvent arg0) {				
				super.windowClosing(arg0);
				dispose();
				System.exit(0);
			}			
		});
	}
	
	@Override
	public void paint(Graphics g) {		
		super.paint(g);		
		//글꼴 변경하기                       //Font.BOLD+Font.ITALIC=다른 폰트가 된다.
		Font f1=new Font("바탕체",Font.BOLD+Font.ITALIC,20);
		g.setFont(f1);
		
		g.drawString("안녕 drawString", 10, 100);
		g.drawString("1", 10, 40);
		g.drawString("2", x-20, 40);

		//컬러 ,RGB-red,green,blue
		Color c1=new Color(255,1,1);//RED
		g.setColor(c1);  
		g.drawString("3", 10, y-20);
		Color c2=new Color(10,30,200);//BLUE
		g.setColor(c2);
		g.drawString("4", x-20, y-20);
		
		//도형 그리기 x시작점,y시작점 ,넓이 ,높이
		g.drawOval(  100,  150  ,30 , 30);
		g.fillOval(  200,  150  ,30 , 40);
		g.drawRect(   50,  50   ,30 , 30);
		
		g.drawLine(0, 0, x, y);
		g.drawLine(x, 0, 0, y);
		
		int x[] =new int[]{100,100,120};
		int y[] =new int[]{50,70,70};
		g.fillPolygon(x,y,x.length);
		g.drawPolygon(x,y,x.length);
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

16일차 입&출력2  (0) 2012.04.25
16일차 입&출력  (0) 2012.04.25
16일차 AWT 버튼을 누르면 실행 되는 리스너 만들기  (0) 2012.04.25
16일차 AWT - FlowLayout  (0) 2012.04.25
16일차 AWT  (0) 2012.04.25
package com.awtStudy;

import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.event.ActionListener;


public class FlowLayoutStudy extends Frame implements WindowListener{


	/* 1.프레임 만든다  
	 * 2.배치(레이아웃)방법을 하나 정해서 프레임에 적용시킨다.
	 * 3.프레임에 버튼을 붙인다.
	 * 4.x누르면 프레임 닫히는 기능을 add
	 * */

	public FlowLayoutStudy(){//생성자 메서드
		//객체를 만들어서 메모리에 찍는 소스가 숨어 있어요

		//내가 프레임이다.this= new Frame();
		//this란 : 내 자신 클래스의 객체를 가리킴.
		this.setName("내가 프레임이다.");
		this.setSize(300,200);

		//3
		Button button1= new Button("버튼 1");
		Button button2= new Button("버튼 2");
		Button button3= new Button("버튼 3");
		Button button4= new Button("버튼 4");
		Button button5= new Button("버튼 5");
		Button button6= new Button("버튼 6");
		add(button1);
		add(button2);
		add(button3);
		add(button4);
		add(button5);
		add(button6);

		//ActionListener 객체 생성
		ButtonListener btnListener = new ButtonListener(this);
		button1.addActionListener(btnListener);
		button2.addActionListener(btnListener);
		button3.addActionListener(btnListener);
		button4.addActionListener(btnListener);
		button5.addActionListener(btnListener);
		button6.addActionListener(btnListener);

		//2
		FlowLayout layout = new FlowLayout();
		this.setLayout(layout);

		//4//WindowListener를 상속 받은 객체를  매게변수로 넣어줘야 함
		this.addWindowListener(this);
		this.setVisible(true);
	}

	//버튼을 누르면 실행 되는 리스너 만들기
	class ButtonListener implements ActionListener{
		Frame frame;
		public ButtonListener(Frame f){
			frame=f;
		}
		
		@Override
		public void actionPerformed(ActionEvent e) {
			String command=e.getActionCommand();
			System.out.println(command+"버튼을 눌렀다.");

			if(command.equals("버튼 1")){
				frame.setBackground(Color.BLUE);				
			}else if(command.equals("버튼 2")){
				frame.setBackground(Color.RED);
			}else if(command.equals("버튼 3")){
				frame.setBackground(Color.GREEN);
			}else if(command.equals("버튼 4")){
				frame.setBackground(Color.YELLOW);
			}else if(command.equals("버튼 5")){
				frame.setBackground(Color.BLACK);
			} 
		}
	}
	public static void main(String[] args){
		new FlowLayoutStudy();
	}
	//4
	@Override
	public void windowClosing(WindowEvent arg0) {
		System.out.println("windowClosing");
		this.dispose();
		System.exit(0);		
	}
	@Override
	public void windowActivated(WindowEvent e) {
		System.out.println("windowActivated");
	}
	public void windowClosed(WindowEvent e) {
		System.out.println("windowClosed");
	}
	public void windowDeactivated(WindowEvent e) {
		System.out.println("windowDeactivated");
	}
	public void windowDeiconified(WindowEvent e) {
		System.out.println("windowDeiconified");
	}
	public void windowIconified(WindowEvent e) {
		System.out.println("windowIconified");
	}
	public void windowOpened(WindowEvent e) {
		System.out.println("windowOpened");
	}
}
//component(버튼 등등).addEventListener
//frame(화면 창).addWindowListener



'Java > 2012.04 강좌' 카테고리의 다른 글

16일차 입&출력  (0) 2012.04.25
16일차 GUI -색깔 입히기 폰트 도형그리기  (0) 2012.04.25
16일차 AWT - FlowLayout  (0) 2012.04.25
16일차 AWT  (0) 2012.04.25
15일차 확장 for문 향상된 for문  (0) 2012.04.24
package com.awtStudy;

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;


public class FlowLayoutStudy extends Frame implements WindowListener{


	/* 1.프레임 만든다  
	 * 2.배치(레이아웃)방법을 하나 정해서 프레임에 적용시킨다.
	 * 3.프레임에 버튼을 붙인다.
	 * 4.x누르면 프레임 닫히는 기능을 add
	 * */

	public FlowLayoutStudy(){//생성자 메서드
		//객체를 만들어서 메모리에 찍는 소스가 숨어 있어요
		
		//내가 프레임이다.this= new Frame();
		//this란 : 내 자신 클래스의 객체를 가리킴.
		this.setName("내가 프레임이다.");
		this.setSize(300,200);
		
		
		//3
		this.add(new Button());
		this.add(new Button("버튼2"));
		this.add(new Button("버튼3"));
		this.add(new Button("버튼4"));
		this.add(new Button("버튼5"));
		Button button6= new Button("버튼 6");
		this.add(button6);
		
		//2
		FlowLayout layout = new FlowLayout();
		this.setLayout(layout);
		
		//4//WindowListener를 상속 받은 객체를  매게변수로 넣어줘야 함
		this.addWindowListener(this);
		this.setVisible(true);
	}
	public static void main(String[] args){
		new FlowLayoutStudy();
	}
	//4
	@Override
	public void windowClosing(WindowEvent arg0) {
		System.out.println("windowClosing");
		this.dispose();
		System.exit(0);		
	}
	@Override
	public void windowActivated(WindowEvent e) {
		System.out.println("windowActivated");
	}
	public void windowClosed(WindowEvent e) {
		System.out.println("windowClosed");
	}
	public void windowDeactivated(WindowEvent e) {
		System.out.println("windowDeactivated");
	}
	public void windowDeiconified(WindowEvent e) {
		System.out.println("windowDeiconified");
	}
	public void windowIconified(WindowEvent e) {
		System.out.println("windowIconified");
	}
	public void windowOpened(WindowEvent e) {
		System.out.println("windowOpened");
	}
}

이벤트 발생시 콘솔창에 이벤트를 뭘 발생 했는지 출력된다~~



package com.awtStudy;

import java.awt.Frame;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

/* 1.프레임 만든다  
 * 2.화면에 띄운다.
 * 3.x누르면 프레임 닫는다.
 * 4.3번 기능을 프레임에 add
 * */
public class HelloAWT {
	
	static Frame frame;
	
	public static void main (String[] args){
		frame = new Frame("안녕 프레임");
		frame.setSize(200,100);
		//frame.show(); (지금은 사용하지 않음) --->duplicate
		frame.setVisible(true);
		
		//event - click, drag, double click, touch, 입력
		
		//.addWindowListener (WindowListener 넣기)
		frame.addWindowListener(new Listener(frame));
		
	}
	//inner Class를 사용하는 이유:
	//Outer Class의 Field를 사용 하기 위해서
	static class Listener implements WindowListener{

		Frame fr;
		//생성자 메서드
		public Listener(Frame f){
			fr=f;
		}
		@Override
		//윈도우 창에 x를 누를때 호출
		public void windowClosing(WindowEvent e) {
			frame.dispose();//자원 해제
			System.exit(0);//프로세서 강제 종료 시키기
			//윈도우가 닫힌다.
		}
		@Override
		public void windowActivated(WindowEvent e) {}
		public void windowClosed(WindowEvent e) {}
		public void windowDeactivated(WindowEvent e) {}
		public void windowDeiconified(WindowEvent e) {}
		public void windowIconified(WindowEvent e) {}
		public void windowOpened(WindowEvent e) {}
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

16일차 AWT 버튼을 누르면 실행 되는 리스너 만들기  (0) 2012.04.25
16일차 AWT - FlowLayout  (0) 2012.04.25
15일차 확장 for문 향상된 for문  (0) 2012.04.24
15일차 MapInterface  (0) 2012.04.24
15일차 Stack,Queue  (0) 2012.04.24

+ Recent posts