목록자바/자바팁 (43)
올해는 머신러닝이다.
요즘 며칠동안 공부중인 캔버스 프리드로우 버전입니다영..^^ 1단계 : 그냥 캔버스에 간단한 마우스 이벤트를 통한 프리드로우입니다. 2단계 : 1단계를 해보니 할 때마다 다시 페인트를 해서 번쩍번쩍 거림..쓰레드 구현 필요(우리 수업도 빨리 쓰레드,Db,IO가 나가야 할텐데..벌써 한달이 지났엉..==;) 3단계 : 이걸 DB든 파일이든 직렬화 저장해서 정말 스마트폰에 있는 그림메모처럼 만드는 게 목표. 최종단계 : 이걸 그대로 안드로이드폰에 옮겨봄...ㅋ 암튼 현재 1단계 성공.. 소스첨부하니 참고하실 분 보세요. import java.awt.BasicStroke; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; impo..
음.. 업캐스팅이 처음 들어 보는 단어라고 그러셨는데.. 상속을 알고 있다면 그리고 인터페이스 와 추상 클래스, 매서드 오버라이딩의 개념을 알고 있다면 이미 업캐스팅을 사용하는 겁니다. 아니 이미 업캐스팅은 문장에 만들어져 있습니다 모든 자바는 Objdec 클래스에서 상속받습니다. 명시적으 class A { } 라는게 있다면 이미 묵시적으로 class A extends Object 가 형성되는 거죠. 자 그럼 업태스팅은 무엇인지 알아보죠. 대표적인 구문을 하나 보여드리겠습니다. class A{ public void draw(){ System.out.println(" A번입니다"); } } class B extends A{ public void draw(){ System.out.println("B클래스입니..
출처 : http://cafe.naver.com/javachobostudy.cafe 자바초보스터디. Chapter 10. 내부클래스(inner class) 1. 내부클래스(inner class)란? 내부클래스란, 클래스 내에 선언된 클래스이다. 클래스에 다른 클래스 선언하는 이유는 간단하다. 두 클래스가 서로 긴밀한 관계에 있기 때문이다. . 한 클래스를 다른 클래스의 내부클래스로 선언하면 두 클래스의 멤버들간에 서로 쉽게 접근할 수 있다는 것과 외부에는 불필요한 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다는 장점을 얻을 수 있다. .내부클래스의 장점 - 내부클래스에서 외부클래스의 멤버들을 쉽게 접근할 수 있다. - 코드의 복잡성을 줄일 수 있다.(캡슐화) [참고]내부 클래스는 JDK1.1버젼 이후..
기본적으로 XML을 파실할 적에 고려해야 할 게 있다. 1.유효성 검사에 필요한 .dtd파일이 있나.. dtd파일 작성은 다음과 같다. book.xml 배우자 자바 25000원 배우자 자바2 2123000원 배우자 자바3 25123000원 그럼 여기서 book.dtd는 다음과 같다. 마지막으로 자바 XML 입,출력 및 기본파싱은 다음과 같다. import javax.xml.parsers.*; import javax.xml.transform.*; import org.w3c.dom.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; import java.io.*; public class XmlParseExam { public s..
객체 직렬화(Object Serialization): 송 재승(angel1011@hanmail.net) 자바에서는 자바에서 제공하는 기본적인 데이터 유형 이외에도 여러 객체들을 스트림에 쓰고, 읽을 수 있는 기능을 제공하는데 이것이 바로 객체 직렬화를 통해서 가능하다. 이러한 객체 직렬화 기법은 원격 메소드 호출, 보안 및 암호화 등 실제 프로그래밍 시에 유용하게 사용되어 질 수 있다. 객체 직렬화의 비밀그러면 먼저 객체 직렬화가 어떠한 과정을 거쳐서 이루어 지는지 비밀을 벗겨보도록 하자. 먼저 객체들은 ObjectOutputStream에 의해서 직렬화가 되며, ObjectInputStream에 의해서 직렬화가 해제된다는 사실을 기억하도록 하자. 이러한 일련의 과정을 그림으로 나타내면 다음과 같다. [그..
이거 때문에 한 2,3일 고생했다...아..힘들다..==' ObjectInputStream과 ObjectOutputStream의 생성 위치를 바꿔보시기 바랍니다. 서버 쪽에서 ObjectInputStream, ObjectOutputStream 순으로 생성했다면, 클라이언트 쪽에서는 ObjectOutputStream, ObjectInputStream 순으로 생성해야만 합니다. 역도 성립하구요. 이유는 ObjectInputStream 생성자에서 쌍이 되는 ObjectOutputStream이 생성되어 있지 않다면, block되기 때문입니다
import java.util.Locale; import java.util.Date; import java.util.Calendar; import java.util.GregorianCalendar; import java.text.SimpleDateFormat; public class TestDate { public static void main(String args[]) { int iWeekName; int nMoveDay; int nEndDay; long lCurTime; long lCurTimeTemp; long lDiff; Date curDate; Date curDateTemp; String strCurTime; Calendar cal; GregorianCalendar gcal; SimpleDat..
클래스패스와 환경 변수, 그것이 알고 싶다. 김세곤 2001년 4월 17일 서론 초보 자바 프로그래머를 괴롭히는 큰 문제 중에 그놈의 클래스패스는 빠지지 않는다. 클래스패스는 사실 이렇게 하나의 글로 설명하기조차 매우 부끄러운 사소한 것인데, 초보 자바 프로그래머에게는 절대 사소하지 않은 것이 현실이다. 더군다나, 가슴 아프게도 대부분의 자바 관련 서적은 클래스패스에 지면을 할애할 만한 형편도 안되고, 대부분의 저자들이 별것도 아닌 것에 공들여 설명하려 하지 않기 때문에, 당연히 클래스패스에 대해서는 많은 독자들이 제대로 이해하지 못한 채 끙끙댄다. 한편으로는, 이것은 기초를 제대로 다지지 않은 독자들의 책임이 크다. 클래스패스를 잘 설정해서 자바 프로그램을 컴파일하고 실행하는 기술은 자바 언어의 첫번째..
GUI 를 이루는 기본 요소 네 가지는 각각 컴포넌트, 컨테이너, 레이아웃 관리자, 그리고 그래픽스라는 것을 처음에 언급한 바 있다. 우리는 이미 컴포넌트와 컨테이너에 대해 공부하였으며, 이제부터는 레이아웃 관리자 (Layout Manager) 에 대해 공부하도록 하자. 레이아웃(layout)이란 컴포넌트들을 컨테이너 상에 어떻게 배치할 것인지를 결정하는 것을 말한다. 많은 레이아웃 관리자가 있지만, 대표적인 것들로 다음의 다섯 가지를 들 수 있다. BorderLayout - 동, 서, 남, 북, 중앙으로 배치 FlowLayout - 위에서 아래로, 왼쪽에서 오른쪽으로 배치 GridLayout - 동일 크기를 갖는 격자에 배치 GridBagLayout - 다른 크기를 가질 수 있는 격자에 배치 BoxLa..
1.Socket 생성자에 서버의IP와 서버의 동작 포트값을(10001)을 인자로 넣어 생성한다.소켓이 성공적으로 생성되었다면 서버와 접속이 성공적으로 되었다는 것을 의미한다. 2.생선된 socket으로부터 InputStream 과 OutputStream을 구한다. 3.InputStream 은BufferReader 형식으로 변환하고 OutputStream은 PrintWriter 형식으로 변환한다. 4.키보드로 부터 한줄 씩 입력닫는 BufferReader객체를 생성한다. 5.키보드로부터 한줄을 입력받아 PrintWriter에 있는 Printl()메소드를 이용해서 서버에게 전송한다. 6.서버가 다시 봔환하는 문자열을 BufferReader에 있는 readLine()메소드를 이용해서 읽어 들인다. 읽어들인 문..
잘사용하시면, 간편하게 훌륭한 대화상자들을 만들어 낼수 있습니다. 끝부분에 커스터마이징 부분을 잘 보시길 바랍니다. BEYOND THE BASICS OF JOPTIONPANE The Swing component set in J2SE includes a special class for creating a panel to be placed in a popup window. You can use this panel to display a message to the user and to get a response from the user. The panel presents content in four areas, one each for an icon, message, input, and buttons. You ..
★ Top-level component - JFrame ★ - Java/Servlet/JSP 2006/11/28 23:21 http://blog.naver.com/airdasom/90011367478 JFrame [출처] ★ Top-level component - JFrame ★|작성자 몽상가
addActionListener() 호출시 사용한 new ActionListener() { ... } 부분이 anonymous inner class이고 asd()의 인자인 str을 여기로 고이 전달하려면 str을 final로 선언해야 한다는 얘깁니다. 아래와 같이 final 붙여주면 됩니다. class asd extends Frame { public asd(final String str){ setSize(300,200); setVisible(true); Button bt = new Button("go"); add(bt); bt.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.out.print..