import java.io.*; import java.net.*; class ClientThread extends Thread{ Socketsocket; // 클라이언트 소켓 MultiServerserver; // 서버 소켓 BufferedReaderreader; // 입력 스트림 BufferedWriterwriter; // 출력 스트림 StringuserMsg; // 메시지 StringnickName; // 클라이언트 닉네임 /* * 클라이언트 쓰레드 초기화 */ public ClientThread(Socket userSocket, MultiServer mainServer) throws Exception{ socket = userSocket; server = mainServer; reader = new..
import java.net.*; import java.util.*; public class MultiServer{ ServerSocketsc; // 서버 소켓 Vectorclients; // 클라이언트 목록 ClientThreadclient; // 클라이언트 쓰레드 Iterator clientsEn; // 클라이언트 목록 검색 : Enumeration // EnumerationclientsEn; // 메인 메소드 public static void main(String args[]){ MultiServer ms=null; // 채팅 서버 초기화 try { ms=new MultiServer(); // 채팅서버 객체 생성 ms.welcomeClients(); // 메시징 } catch(Exception e)..
IOEx1import java.io.*; import java.util.Arrays; class IOEx1 { public static void main(String[] args) { byte[] inSrc = {0,1,2,3,4,5,6,7,8,9}; byte[] outSrc = null; ByteArrayInputStream input = null; ByteArrayOutputStream output = null; input = new ByteArrayInputStream(inSrc); output = new ByteArrayOutputStream(); int data = 0; while((data = input.read())!=-1) { output.write(data);// void write(in..
AWT, 로그인 예제, Adapter클래스 이용 8/20일 예제 인용 /* * 창닫기 기능 구현 : WindowAdapter(추상클래스) -> 구현 * windowClosing(추상메소드) * 장점 : WindowListener를 이용할 경우는 실제로 필요하지 않은 메소드도 강제적으로 구현해야 하지만 * 추상클래스(WindowAdapter)의 경우는 실제로 필요한 메소드만을 구현하면 되므로 경제적 */ import java.awt.*; import java.awt.event.*; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.regex.Matcher; import java..
데이트베이스에 연동하여 AWT, Dialog, Popup 창을 이용한 로그인 예제 import java.awt.*; import java.awt.event.*; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import com.kysoft.member.Member; import com.kysoft.member.MemberDAO; class JavaEx29 extends Frame { // Frame = 기본..
import java.awt.*; import java.awt.event.*; class FrameTest3 { public static void main(String args[]) { Frame f = new Frame("Login");// Frame객체를 생성한다. f.setSize(300, 200);// Frame의 크기를 설정한다. // EventHandler클래스의 객체를 생성해서 Frame의 WindowListener로 등록한다. f.addWindowListener(new EventHandler()); f.setVisible(true);// 생성한 Frame을 화면에 보이도록 한다. } } class EventHandler implements WindowListener { public void..
[Event의 종류와 관련 인터페이스와 이벤트 리스너를 Component에 추가/제거하는 메서드] 이벤트 인터페이스 메서드 호출시기 ActionEvent ActionListener actionPeformed(ActonEvent ae) Button을 클릭했을 때, Menu를 클릭했을때, TextField에서 Enter키를 눌렀을 때, List의 item하나를 선택하여 더블클릭했을 때 ComponentEvent ComponentListener componentMoved(ActonEvent ae) 컴포넌트가 이동되었을 때 componentHidden(ActonEvent ae) 컴포넌트가 화면에 보이지 않게 되었을 때 componentResized(ActonEvent ae) 컴포넌트의 크기가 변경되었을 때 co..