1. 그림판 깜빡임 해결 그림판에서 빠르게 repaint()를 부를 때 화면이 깜빡이는 것을 Image 객체를 잡아서 BufferG로 그리는 것으로 해소하셨다. 더블 버퍼링 메모리에 그린 후 화면에 옮긴다. 1.캔버스와 동일한 크기의 Image 객체를 생성한다 2.Image 객체에 그림을 그린다. update(); 3.Image 객체를 캔버스에 보여준다. paint(); paint() 메소드에서는 g.drawImage()메소드를 이용해서 Image 객체를 그리는 역할만 수행한다. update() 메소드에서는 bufferG라는 Graphics 객체를 얻어서 그걸로 Image 객체에 그린다. 2. 미니 프로젝트 진행상황 로그인, 회원가입, 아이디찾기, 비밀번호 찾기, 회원정보 수정을 구현했다. https:/..
1. 명령프롬프트에서 컴파일과 실행 동시에 하기 javac -encoding UTF-8 ClassName.java && java ClassName UTF-8로 인코딩하는 방법을 검색하다가 위와 같은 명령어를 발견. 두 줄에 나눠 쓸 것을 && 를 사용해 이어붙여서 한 문장으로 사용 가능. EditPlus에서 Eclipse로 갈아탄지 좀 됐지만 이걸 이제 알았다니 크흠.. 2. 네트워크 Socket 연습 채팅 구현 방식이 나의 상상과 약간 다른 부분이 있었다. 입력을 하면 내 화면엔 내 입력값이 들어가고 해당 입력값을 서버와 동기화(?)해주는 방식으로 진행되는 줄 알았는데 나의 입력마저도 서버로 갔다가 서버에서 전달해주는 값을 리턴하는 것이었다. 물론 이게 현재 TCP 동기 방식으로 진행하기 때문인지 까지..
1. 네트워크 첫 수업 요청 후 반드시 응답을 기다리는 TCP와 무관한 UDP. 우리는 동기 방식에 대해 우선 배우게 된다. 2. 성적관리 GUI 숙제검사 2-1. ObjectOutputStream try{ ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file)); for(ScoreDTO dto : list){ oos.writeObject(dto); } oos.close(); } catch (IOException e) { e.printStackTrace(); } 학생성적관리 GUI에서 강사님처럼 ObjectOutputStream을 사용하지 않은 부분이 아쉽다. ObjectOutputStream으로 입출력시 txt파일이 어떻게 ..
1. 직렬화 네트워크를 통해 객체를 주고 받기 위해 필요함. 객체는 덩어리라서 이것을 한 줄로 세워서(직렬화) 전송한다. 받을 때도 한 줄이어서 이것을 역직렬화를 통해 덩어리로 다시 묶는다. 직렬화할 객체 클래스(일반적으로 DTO클래스)에서 Serializable을 구현하면 된다. 아무런 필드도 메소드도 없기 때문에 오버라이딩 해야만 하는 메소드는 없다. Serializable을 구현한 클래스를 상속받아도 해당 클래스는 직렬화가 가능하다. Serializable을 구현한 클래스에서 직렬화 하지 않을 필드가 있다면 필드 선언 시 데이터 타입 앞에 transient 를 입력해준다. 파일 아웃풋 스트림 > 버퍼드아웃풋 스트림 > 오브젝트 아웃풋 스트림 하여 .ser로 저장가능하다. 일단 쓰긴 해야 하니까 꾸역..