본문 바로가기

[JAVA]

[JAVA]10월 13일 이벤트 처리 Action, Key, Mouse, MouseMotion * Action 이벤트 사용자가 버튼을 클릭하는 경우. 사용자가 메뉴 항목을 선택하는경우. 사용자가 텍스트 필드에서 엔터키를 누르는 경우. *Key 이벤트 KeyListener 인터페이스 -KeyTyped(Key Event e) : 사용자가 글자를 입력했을 경우에 호출. -keyPressed(KeyEvent e) : 사용자가 키를 눌렀을 경우에 호출. -keyReleased(KeyEvent e) : 사용자가 키에서 손을 뗴었을 경우에 호출. *Mouse 이벤트 MouseListener인터페이스 -mouseClicked(MouseEvent e) : 사용자가 컴포넌트를 마우스로 클릭한 경우에 호출 된다. -mouseEntered(MouseEvent e) : 마우스 커서가 컴포넌트의 경계안으로 커서가 들어 가.. 더보기
[JAVA]10월 12일 이벤트 처리 이벤트 처리 과정 예를 들면 버튼을 누른다 → 이벤트 객체가 발생한다 → 이벤트 처리. 이벤트 처리 과정에는 우선 버튼을 누를 수 있는 Frame 을 만들어 주고 → 이벤트리스너 클래스를 작성한다.(ActionListener 를 implements 해준다) ex) class MyListener implements ActionListener{ //JButton이 눌릴때마다 액션. @Override public void actionPerformed(ActionEvent e) {//ActionEvent를 처리할 수 있는 메 //소드를 // FIXME Auto-generated method stub // 가지는 인터페이스는 ActionListener // if(e.getSource() == button) // .. 더보기
[JAVA]10월 12일 GUI, 그래픽 사용자 인터페이스 *기본 컴포넌트 ·JButton, JLabel, JCheckbox, JChoice, JList, JMenu, JTextField, JScrollbar, JTextArea, JCanvas 등이 여기에 속한다. *컨테이너 컴포넌트 ·다른 컴포넌트를 안에 포함할 수 있는 컴포넌트로서 JFrame, JDialog, JApplet, JPanel, JScrollPane 등이 여기에 속한다. * GUI (Graphic User Interface) GUI 작성 절차 최상위 컨테이너를 생성한다. 컴포넌트를 추가한다. ex) 프레임 생성 public class Test { public static void main(String[] args) { JFrame f = new JFrame(); f.setTitle("Hello".. 더보기
[JAVA]10월 7일 네트워크 프로그래밍 TCP (단체 채팅 서버코드 예제) *단체 메인 채팅 서버 public class TCP_ChatServer { public static void main(String[] args) { ServerSocket serverSocket = null; try { serverSocket = new ServerSocket(5000); while(true) { Socket socket = serverSocket.accept(); System.out.println("연결됨"); ChatReceiver receiver = new ChatReceiver(socket); Thread rThread = new Thread(receiver); rThread.start(); BufferedWriter bw = new BufferedWriter (new Outpu.. 더보기
[JAVA]10월 5일 네트워크 프로그래밍 *서버 - 사용자들에게 서비스를 제공하는 컴퓨터. *클라이언트 - 서버에게 서비스를 요청해서 사용하는 컴퓨터. ip주소 - 인터넷에서 컴퓨터의 주소. 포트 - 가상적인 통신 선로. DNS - 숫자 대신 기호를 사용하는 주소. DNS서버 - 기호 주소를 숫자 주소가 변환해주는 서버. URL - 인터넷상의 자원을 나타내는 약속. * 프로토콜 - 통신을 하기 위한 약속. TCP - 신뢰성있게 통신하기 위하여 먼저 서오간에 연결을 설정한 후에 데이터를 보내고받는 방식. UDP = 데이터를 몇개의 고정 길이의 패킷으로 분활하여 전송. 더보기
[JAVA]10월 2일 입출력, ObjectOutputStream와 ObjectInputStream, Serializable, OutputStreamWriter 와 InputStreamReader *ObjectOutputStream와 ObjectInputStream ObjectOutputStream와 ObjectInputStream을 이용해 객체를 입출력하려면 대상 객체는 Serializable인터페이스를 구현한 클래스의 객체여야함. 직렬화 - 객체가 가진 데이터들을 순차적인 데이터로 변환. *OutputStreamWriter 와 InputStreamReader 바이트 스트림과 문자 스트림을 연결 하는 클래스. 더보기
[JAVA]10월 1일 입출력 스트림, InputStream 과 OutputStream, BufferedInputStream 과 BufferedOutputStream * 입출력 *스트림의 분류 -데이터 싱크 스트림 : 데이터를 소스에서 읽거나 목적지에 기록. -데이터 처리 스트림 : 들어오는 데이터를 가공하여 내보낸다. * 입출력 스트림 -바이트 스트림 : 입력바이트 스트림, 출력바이트 스트림 -문자 스트림 : 입력문자 스트림, 출력문자 스트림. * InputStream 과 OutputStream 추상클래스로서 모든 바이트 스트림의 조상 클래스. ex) public static void main(String[] args) { // FIXME Auto-generated method stub FileInputStream in = null; FileOutputStream out = null; // try catch 블럭과 finally 블럭에서 접근 가능하 기 위해 여기서.. 더보기
[JAVA]9월 30일 스레드, Runnable 인터페이스, 동기화, wait() 와 notify() *스레드 : 명령처리 흐름 프로세스 : 프로그램이 실행되는 단위. 병렬처리하는 방법 : 멀티스레드, 멀티프로세스 멀티프로세스 - 각프로세스가 독립된 메모리를 가지기 때문에 어떻게 데이터를 공유할것인가각 이슈! 멀티스레드 - 두개이상의 명령흐름이 같은 데이터를 접근하기때문에 어떻게 제어할 것인가가 이슈! 스레드를 생성하는방법! -Thread 클래스를 상속하는 방법class Counting extends Thread{ public void run(){ for(int i = 0; i < 10; i ++) System.out.println(i); }public static void main(String[] args) { Thread t = new Counting(); t.start(); //스레드를 상속 받은 .. 더보기
[JAVA]9월 25일 제네릭, 컬렉션, *제네릭 : 일반적인 하나의 코드로 다양한 자료형을 처리하는 기법 일반적인 코드를 작성하고 이코드를 다양한 타입의 객체에 대하여 재사용 하는 프로그래밍 기법. ex) //class Store //{ // private T data; // public void setData(T data) // {this.data = data;} // public T getData() // {return data;} public class Test { public static void main(String[] args) { // FIXME Auto-generated method stub // Store store = new Store(); // store.setData("Hello"); // System.out.printl.. 더보기
[JAVA]9월 24일 예외처리, 예외의 종류, 정규 표현식, Pattern클래스 *예외처리 : 잘못된 코드, 부정확한 데이터, 예외적인 상황에의하여 발생하는 오류. ex) // int x = 1; // int y = 0; // System.out.println("한번나눠볼까"); // try{ // int result = x / y; //y가 0이 아니라면 바로 출력 , 0이라면 밑에 catch문 실행. // // } // catch(Exception e){ // System.out.println("0으로 나눌 수 없습니다."); // } // System.out.println("이코드가 출력이 될까요?"); finally 블록 오류가 발생하였건 발생하지 않았건 항상 실행 되어야 하는 코드는 finally블록에 넣을 수 있다. try catch 문 밑에 finally { ~~~ } .. 더보기