2010. 7. 23. 15:15ㆍ2010년/7월
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
class chatt
{
static Chatwindows window;
public static void main(String args[])
{
window = new Chatwindows ("채팅");
window.setBounds(50,50,800,600);
window.show();
}
}
class Chatwindows extends Frame implements ActionListener
{
String sname;
Label NTitleLabel,PstsLabel;
Panel NTitle;
Panel CField;
TextArea CFieldText;
TextField chat;
Panel EIDlist;
TextArea EIDlistText;
Panel SState;
Panel SStatenorth;
Panel SStatesouth;
changeidDlg DlgID;
Choice colorChoice,IDchoice;
BorderLayout chBorder,stateBorder;
Button sendMessage,changeID,bexit,cls,help,southexit;
public Chatwindows(String aname)
{
super("채팅프로그램 V.10");
String[] systemColor = {"RED", "GREEN", "BLUE", "ORANGE", "YELLOW"};
String[] choiceID = {"귓속말 선택"};
colorChoice = new Choice();
IDchoice = new Choice();
for( int i=0;i<systemColor.length;++i)
{
colorChoice.add(systemColor[i]);
}
for( int i=0;i<choiceID.length;++i)
{
IDchoice.add(choiceID[i]);
}
sname=aname;
NTitle = new Panel();
CField = new Panel();
EIDlist = new Panel();
SState = new Panel();
NTitle.setBackground(Color.yellow);
CField .setBackground(Color.pink);
EIDlist.setBackground(Color.green);
SState.setBackground(Color.blue);
NTitleLabel = new Label("<자바 채팅방>입니다.. ♡어서오세요♡ [욕설 금지] 재미나게 놀다가세요");
NTitle.add(NTitleLabel);
CFieldText = new TextArea("",29,82,TextArea.SCROLLBARS_NONE);
CFieldText.setEditable(false);
CFieldText.setBackground(Color.pink);
CField.add(CFieldText);
EIDlistText = new TextArea("",29,22,TextArea.SCROLLBARS_NONE);
EIDlistText.setEditable(false);
EIDlistText.setBackground(Color.green);
EIDlist.add(EIDlistText);
stateBorder = new BorderLayout();
SStatenorth = new Panel();
SStatesouth = new Panel();
SState.setLayout(stateBorder);
SState.add(SStatenorth,BorderLayout.NORTH);
SState.add(SStatesouth,BorderLayout.SOUTH);
PstsLabel = new Label("색상 선택");
sendMessage = new Button("쪽지보내기");
changeID = new Button("대화명 변경");
bexit = new Button("채팅 종료");
SStatenorth.setLayout(new FlowLayout());
SStatenorth.add(PstsLabel);
SStatenorth.add(colorChoice);
SStatenorth.add(sendMessage);
SStatenorth.add(changeID);
SStatenorth.add(bexit);
cls = new Button("지우기");
help = new Button("도움말");
southexit = new Button("나가기");
chat = new TextField(50);
SStatesouth.setLayout(new FlowLayout());
SStatesouth.add(IDchoice);
SStatesouth.add(chat);
SStatesouth.add(cls);
SStatesouth.add(help);
SStatesouth.add(southexit);
this.addWindowListener(new WindowHandler());
chBorder = new BorderLayout();
this.setLayout(chBorder);
this.add(NTitle,BorderLayout.NORTH);
this.add(CField,BorderLayout.CENTER);
this.add(EIDlist,BorderLayout.EAST);
this.add(SState,BorderLayout.SOUTH);
changeID.addActionListener (this);
sendMessage.addActionListener (this);
southexit.addActionListener(this);
}
public void actionPerformed (ActionEvent e)
{
if(e.getSource()==changeID)
{
DlgID = new changeidDlg(this);
DlgID.setBounds(850,100,300,100);
DlgID.show();
}
else if(e.getSource()==sendMessage)
{
sendmessage sme = new sendmessage(this);
sme.setBounds(850,300,300,200);
sme.show();
}
else if(e.getSource()==southexit)
{
System.exit (0);
}
}
}
class changeidDlg extends Dialog implements ActionListener
{
Button OKBut = new Button("확인");
Button XBut = new Button("취소");
Label laIDname = new Label("대화명 ");
TextField IDname = new TextField("",24);
Chatwindows bwindow;
public changeidDlg(Chatwindows parents)
{
super (parents, "대화명", true);
// this.addWindowListener(new WindowHandler());
this.setLayout(new FlowLayout());
this.add(laIDname);
this.add(IDname);
this.add(OKBut);
this.add(XBut);
XBut.addActionListener (this);
OKBut.addActionListener (this);
}
public void actionPerformed (ActionEvent e)
{
if(e.getSource()==XBut)
{
this.setVisible(false);
}
else if(e.getSource()==OKBut)
{
this.setVisible(false);
}
}
}
class sendmessage extends Dialog implements ActionListener
{
Button OKBut = new Button("보내기");
Button XBut = new Button("취소");
Label laIDname = new Label("대화명 ");
Label lamessage = new Label("보낼내용");
TextField IDname = new TextField("",24);
TextField Txmessage = new TextField("",24);
Chatwindows bwindow;
public sendmessage(Chatwindows parents)
{
super (parents, "대화명", true);
// this.addWindowListener(new WindowHandler());
this.setLayout(new FlowLayout());
this.add(laIDname);
this.add(IDname);
this.add(lamessage);
this.add(Txmessage);
this.add(OKBut);
this.add(XBut);
XBut.addActionListener (this);
OKBut.addActionListener (this);
}
public void actionPerformed (ActionEvent e)
{
if(e.getSource()==XBut)
{
this.setVisible(false);
}
else if(e.getSource()==OKBut)
{
this.setVisible(false);
}
}
}
class WindowHandler extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
//setVisible (false);
System.exit (0);
}
}
}
'2010년 > 7월' 카테고리의 다른 글
7월22일 arm(직렬 통신) (0) | 2010.07.22 |
---|---|
7월21일 JAVA(동기화) ARM(7-segment,USART1) (0) | 2010.07.21 |
7월20일 JAVA(Thread),ARM( (0) | 2010.07.20 |
7월19일 Mango-m32(7-segment) java(FileInputStrem,문자스트림) (0) | 2010.07.19 |
7월16일 Mango-M32(LED 켜기,7-segment) (0) | 2010.07.16 |