PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2011/11/05 02:39:47
Name SaMid
Subject 자바 질문있습니다.
이 코드를 실행시키면 처음에 두 화면으로 분할이 되는데요,
예를 들어 같은 폴더안에 img 라는 jpg파일이 있다고 하면 아부분에 img 파일을 삽입키고 싶은데 어떻게 수정해야하나요?
계속 찾아보면서 하고 있는데 스윙은 처음이라 감이 잘 안잡히네요...

아래는 코드입니다.

import java.awt.*;
import java.awt.event.*;  
import java.net.*;  
import java.io.*;  

import javax.imageio.ImageIO;
import javax.swing.*;


public class WinChatClient extends Frame implements ActionListener {  
  
  private TextField idTF = null;
  private TextField input = null;
  private TextArea display = null;
  private CardLayout cardLayout = null;
  private BufferedReader br = null;
  private PrintWriter pw = null;
  private Socket sock = null;

public WinChatClient(String ip) {
    super("Restaurant Monitor");
    cardLayout = new CardLayout();
    setLayout(cardLayout);
    Panel loginPanel = new Panel();
    loginPanel.setLayout(new BorderLayout());
  
    
    
    /*mFile.setFont(new Font("궁서",Font.PLAIN,12));  */
    loginPanel.setFont(new Font("굴림", Font.PLAIN, 16)); //글씨변경
    loginPanel.setBackground(Color.white); //배경색 변경(위쪽)
    loginPanel.add("North", new Label("아이디를 입력하세요."));
    
    idTF = new TextField(20);
    idTF.addActionListener(this);
    Panel c = new Panel();
    c.add(idTF);
    c.setBackground(Color.LIGHT_GRAY);//로긴화면 아랫부분 색깔
    loginPanel.add("Center", c);
    add("login", loginPanel);
    // c.add(this, "center");
    Panel main = new Panel();
    main.setFont(new Font("Arial", Font.BOLD, 30));
    main.setForeground(Color.DARK_GRAY);// 내용 색상(본문 색상 변환)
    /*Font font = new Font ( "Verdana" , Font . BOLD , 12 ) ;
    txt. setFont (font); txt. setFont ( font ) ;
    txt. setForeground ( Color . BLUE); txt. setForeground ( Color . BLUE ) */
    
    //main.setBackground((Color.pink));
    main.setLayout(new BorderLayout());
    input = new TextField();
    input.addActionListener(this);
    display = new TextArea();
    display.setEditable(false);
    main.add("Center", display);
    main.add("South", input);
    add("main", main);

    try {
      sock = new Socket("ip", 10001);
      pw = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()));
      br = new BufferedReader(new InputStreamReader(sock.getInputStream()));
    } catch(Exception ex) {
      System.out.println("서버와 접속시 오류가 발생하였습니다.");
      System.out.println(ex);
      System.exit(1);
    }
    setSize(500, 500);
    cardLayout.show(this, "login");
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        pw.println("/quit");
        pw.flush();

        try {
          sock.close();
        } catch(Exception ex) {}
        System.out.println("종료합니다.");
        System.exit(0);
      }
    });
    setVisible(true);
  }

  public static void main(String[] args) {
    if(args.length != 1) {
      System.out.println("사용법 : java WinChatClient ip");
      System.exit(1);
    }
    new WinChatClient(args[0]);
  }

  public void actionPerformed(ActionEvent e) {
    if(e.getSource() == idTF) {
      String id = idTF.getText();

      if(id == null || id.trim().equals("")) {
        System.out.println("아이디를 다시 입력하여 주세요.");
        return;
      }

      pw.println(id.trim());
      pw.flush();
      WinInputThread wit = new WinInputThread(sock, br);
      wit.start();
      cardLayout.show(this, "main");
      input.requestFocus();
    } else if(e.getSource() == input) {
      String msg = input.getText();
      pw.println(msg);
      pw.flush();
  
      if(msg.equals("/quit")) {
        try {
          sock.close();
        } catch(Exception ex) {}
        System.out.println("종료합니다.");
        System.exit(1);
      }
      input.setText("");
      input.requestFocus();
    }
  }

  class WinInputThread extends Thread {
    private Socket sock = null;
    private BufferedReader br = null;
    public WinInputThread(Socket sock, BufferedReader br) {
      this.sock = sock;
      this.br = br;
    }

    public void run() {
      try {
        String line = null;
        while((line = br.readLine()) != null) {
          display.append(line + "\n");
        }
      } catch(Exception ex) {
      } finally {
        try {
          if(br != null)
            br.close();
        } catch(Exception ex) {}
        try {
          if(sock != null)
            sock.close();
        } catch(Exception ex) {}
      }
    }
  }
}

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
118551 수학의 정리와 증명에 대한 질문 [25] XellOsisM2652 11/11/05 2652
118550 421 이란 숫자 무엇같나요?? [13] 인디2544 11/11/05 2544
118549 자바 질문있습니다. SaMid1702 11/11/05 1702
118548 게시글에 댓글이 많으면 글이 잘 안써지는군요.. [9] 마지막좀비1611 11/11/05 1611
118547 고전 슈팅게임 질문입니다. (간단한 BGM 추가) [14] 언데드네버다��1802 11/11/05 1802
118546 2g에서 스마트폰으로 바꾼 뒤 만족도에 질문. [10] 주환2344 11/11/05 2344
118545 남극탐험? 질문입니다. [2] 언데드네버다��2158 11/11/05 2158
118544 스쿠터 엔진오일 교체 [3] yjy1936 11/11/05 1936
118543 ptm4936이 뭐죠? 웨인나니1700 11/11/05 1700
118542 네이버 기한이 지난 대용량첨부파일 받는 방법 없을까요? 마이스타일9198 11/11/05 9198
118541 김어준이란 사람에 대해 어떻게 생각하세요? [32] Stella2873 11/11/05 2873
118540 스타2 테란 최신빌드좀 알려주세요 [1] 6767561882 11/11/05 1882
118539 유럽 재정위기에 대해 알고 싶습니다 [15] 다레니안2177 11/11/04 2177
118538 실업급여 질문입니다..신청후 첫방문.. [5] 아스카3032 11/11/04 3032
118537 아이폰 4s를 예약했는데요. [10] 내사랑 복남2104 11/11/04 2104
118535 한달 100만원. 적립식 펀드. 추천해주실만한 상품 있을까요? [15] MC_윤선생2785 11/11/04 2785
118534 가게에서 쓸 장국그릇을 사려고합니다. [2] 낭만원숭이1697 11/11/04 1697
118533 경기도쪽에 노인요양병원 괜찮은 곳 아시면 소개좀해주세요 [2] Kristiano Honaldo1519 11/11/04 1519
118531 과민성 대장이란 말을 들었습니다. [2] 우던거친새퀴1742 11/11/04 1742
118530 강제집행 질문드립니다. [1] 레인보우정윤혜1883 11/11/04 1883
118529 나는꼼수다는 언제 나오나요? [4] 바밤바1697 11/11/04 1697
118528 카톡친구차단관련질문입니다 [2] 울지마괜찮아2141 11/11/04 2141
118527 황금귀 가지신 분들 김연우, 김경호 - 사랑과 우정사이 듣고 평가좀 해주세요 ㅠㅠ [11] mangyg3234 11/11/04 3234
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로