목록전체 글 (1326)
오늘도 공부
import java.net.*; import java.io.*; import java.util.*; public class MultiChatServer { public static void main(String[] args) { try { ServerSocket serverSoc = new ServerSocket(10001); System.out.println("접속을 기다립니다."); HashMap hm = new HashMap(); while(true) { Socket sock = serverSoc.accept(); ChatThread chatthread = new ChatThread(sock,hm); chatthread.start(); } } catch (Exception ex) { System...
import javax.swing.*; import java.awt.*; import java.io.*; import java.net.*; import java.awt.event.*; /* 1.Socket 생성자에 서버의IP와 서버의 동작 포트값을(10001)을 인자로 넣어 생성한다. 소켓이 성공적으로 생성되었다면 서버와 접속이 성공적으로 되었다는 것을 의미한다. 2.생선된 socket으로부터 InputStream 과 OutputStream을 구한다. 3.InputStream 은BufferReader 형식으로 변환하고 OutputStream은 PrintWriter 형식으로 변환한다. 4.키보드로 부터 한줄 씩 입력닫는 BufferReader객체를 생성한다. 5.키보드로부터 한줄을 입력받아 PrintWri..
import javax.swing.*; import java.awt.*; public class ChattingClient { public static void main(String[] args) { CreateChattingUI ccu =new CreateChattingUI(); ccu.setSize(500,500); ccu.pack(); ccu.setVisible(true); } } //채팅방UI 만드는 클래스 class CreateChattingUI extends JFrame { JPanel jp,bottom_jp; BorderLayout bl; JTextArea top_jta,member_jta; JTextField username_jtf,msg_jtf; JButton msgSend_jb; pub..
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()메소드를 이용해서 읽어 들인다. 읽어들인 문..
에코서버 1.1001번 포트에서 동작하는 ServerSocket 을 생성한다. 2.ServerSocket의 accept() 메소드를 실행해서 클라이언트의 접속을 대기한다. 3.클라이언트가 접속할 경우 accpt()메소드는 Socket 객채를 반환한다. 4.반환받은 socket으로부터 InputStream과 OutputStream을 구한다. 5.InputStream은 BufferReader형식으로 변환하고 OutputStream은 PrintWriter 형식으로 변환한다. 6.BufferedReader의 readLine()메소드를 이용해서 클라이언트가 보내는 문자열 한 줄을 읽어 들인다. 7. 6번에서 읽어들인 문자열을 PrintWriter에 있는 println()메소드를 이용해서 다시 클라이언트로 전송한다..
import java.io.*; import java.beans.*; import java.awt.*; import java.awt.datatransfer.*; import java.awt.print.*; import java.awt.event.*; import javax.swing.*; import javax.swing.text.*; import javax.swing.event.*; import javax.swing.undo.*; import javax.swing.border.*; public class Jmemo extends JFrame implements ClipboardOwner,ActionListener,Printable,UndoableEditListener { Container content..
void main() { int i=0; for(i=0;i
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.filechooser.*; public class NotePadExam extends JFrame { JFrame jf,jf2; JPanel jp1,jp2; JMenuBar jmb; JMenu jmFile; JMenuItem jmi_CreateNew,jmi_Open,jmi_Save,jmi_OtherSave,jmi_Exit; JLabel jlb1; JTextArea jta; JDialog jd; public NotePadExam() { super("제목없음"); try { //this.setDefaultCloseOperati..
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class NotePadExam extends JFrame { JFrame jf,jf2; JPanel jp1,jp2; JMenuBar jmb; JMenu jmFile; JMenuItem jmi_CreateNew,jmi_Open,jmi_Save,jmi_OtherSave,jmi_Exit; JLabel jlb1; JTextArea jta; ActionListener al; JDialog jd; public NotePadExam() { //super("메모장"); try { //this.setDefaultCloseOperation(EXIT_ON_CLOSE); //jf = new JF..