📄 chatapplet.java
字号:
try{
synchronized (this){
piped_out.writeInt(currentColor.getRGB());
piped_out.writeInt(x0);
piped_out.writeInt(y0);
piped_out.writeInt(x1);
piped_out.writeInt(y1);
}
x0=x1;
y0=y1;
}catch(IOException e1){
message_TextArea.appendText("\n发送图形管道失败");
}
}
}
void newButton_Clicked(Event event) {
if (logged){
try{
commandCenter("ask_new",new DataBag("none","none",0,0,0,0,0));
message_TextArea.appendText("\n您已经创建了该交谈室");
message_TextArea.appendText("\n现在您可以进行绘画和交谈");
message_TextArea.appendText("\n您已经加入了该交谈室");
belongRoom=true;
paused=false;
quit_Button.enable();
chat_TextField.enable();
chat_Button.enable();
board_Canvas.enable();
pause_Button.enable();
log_Button.disable();
chat_TextField.setText("请在这里输入谈话句子。");
}catch(PleaseCloseSocketException e){
message_TextArea.appendText("\n抱歉,无法创建交谈室");
}
}
}
void subjectTextField_KeyRelease(Event event) {
String message=null;
message=subject_TextField.getText();
if ((!(message.equals("")))&&(message.charAt(0)!=' ')) {
new_Button.enable();
}else {
log_Button.disable();
}
}
void quitButton_Clicked(Event event) {
try{
if (logged) {
commandCenter("ask_quit",new DataBag("none","none",0,0,0,0,0));
logged=false;
belongRoom=false;
log_Button.disable();
join_Button.disable();
quit_Button.disable();
chat_TextField.disable();
chat_Button.disable();
board_Canvas.disable();
pause_Button.disable();
new_Button.disable();
room_Choice.disable();
chat_TextField.setText("");
chat_TextArea.setText("");
userName_TextField.setText("");
subject_TextField.setText("");
board_Canvas.repaint();
users_List.clear();
addNewChoice();
belongRoom=false;
socketClose();
message_TextArea.appendText("\n您已经退出交谈室");
}
}catch(PleaseCloseSocketException e){
message_TextArea.appendText("\n抱歉,无法退出交谈室");
}
}
void joinButton_Clicked(Event event) {
int roomID=0;
try{
if ((logged&&roomDataValid)&&(room_Choice.getSelectedItem()!=null)) {
commandCenter("ask_join",new DataBag("none","none",0,0,0,0,0));
belongRoom=true;
paused=false;
message_TextArea.appendText("\n您已经进入该交谈室");
message_TextArea.appendText("\n现在您可以进行绘画和交谈");
quit_Button.enable();
chat_TextField.enable();
chat_Button.enable();
board_Canvas.enable();
pause_Button.enable();
log_Button.disable();
chat_TextField.setText("请在这里输入谈话句子。");
}
}catch(PleaseCloseSocketException e){
message_TextArea.appendText("\n您不能进入该交谈室");
}
}
void pauseButton_Clicked(Event event) {
if (logged&&belongRoom) {
if (!paused) {
try{
commandCenter("ask_pause",new DataBag("none","none",0,0,0,0,0));
pause_Button.setLabel("继续交谈");
message_TextArea.appendText("\n已经暂停交谈");
paused=true;
}catch(PleaseCloseSocketException e){
message_TextArea.appendText("\n无法暂停交谈");
}
}else {
try{
commandCenter("ask_continue",new DataBag("none","none",0,0,0,0,0));
pause_Button.setLabel("暂停交谈");
message_TextArea.appendText("\n继续交谈");
paused=false;
}catch(PleaseCloseSocketException e){
message_TextArea.appendText("\n无法继续交谈");
}
}
}
}
void roomChoice_Action(Event event) {
refreshUserList();
}
void userNameTextField_KeyRelease(Event event) {
String message=null;
message=userName_TextField.getText();
if ((message!=null)&&(!(message.equals("")))
&&(message.charAt(0)!=' ')&&(logged==false)) {
log_Button.enable();
userName=message;
}else {
log_Button.disable();
userName=null;
}
}
void logButton_Clicked(Event event) {
PipedInputStream in=null;
PipedOutputStream out=null;
try{
openSocket();
in=new PipedInputStream();
out=new PipedOutputStream(in);
piped_out=new DataOutputStream(out);
sender=new SendDrawData(in,io_out);
try{
commandCenter("ask_log",new DataBag("none","none",0,0,0,0,0));
logged=true;
belongRoom=false;
synchronized(this){
notify();
}
message_TextArea.appendText("\n登录成功.");
}catch(PleaseCloseSocketException e) {
socketClose();
message_TextArea.appendText("\n抱歉,无法登录");
}
try{
commandCenter("ask_refresh",new DataBag("none","none",0,0,0,0,0));
join_Button.enable();
new_Button.enable();
quit_Button.enable();
subject_TextField.enable();
room_Choice.enable();
message_TextArea.appendText("\n请选择交谈室,\n并点击\"加入交谈室\"钮");
}catch(PleaseCloseSocketException e) {
socketClose();
message_TextArea.appendText("\n抱歉,无法刷新交谈室数据");
}
}catch(IOException e){
message_TextArea.appendText("\n抱歉,无法与服务器取得联系");
socketClose();
}
}
void cleanButton_Clicked(Event e){
board_Canvas.repaint();
}
public void init() {
super.init();
port=Integer.parseInt(getParameter("port"));
url=getCodeBase();
logo_Image=getImage(url,imageFileName);
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(logo_Image,0);
try{
tracker.waitForAll();
}catch(Exception e){
System.out.println(e);
}
logo_width=logo_Image.getWidth(this);
logo_height=logo_Image.getHeight(this);
//{{INIT_CONTROLS
setLayout(null);
addNotify();
resize(610,375+70);
repaint();
setBackground(Color.lightGray);
logo =new Logo(logo_Image,460,60);
logo_x=(size().width-logo_width)/2;
logo_y=(70-logo_height)/2+377;
logo.setBackground(Color.lightGray);
logo.reshape(logo_x,logo_y,logo_width,logo_height);
add(logo);
chat_Button = new java.awt.Button("发送");
chat_Button.disable();
chat_Button.reshape(552,340,48,24);
add(chat_Button);
log_Button = new java.awt.Button("登录");
log_Button.reshape(144,5,48,24);
add(log_Button);
log_Button.disable();
join_Button = new java.awt.Button("加入交谈室");
join_Button.reshape(12,77,72,24);
add(join_Button);
join_Button.disable();
new_Button = new java.awt.Button("创建交谈室");
new_Button.reshape(12,150,72,24);
add(new_Button);
new_Button.disable();
pause_Button = new java.awt.Button("暂停交谈");
pause_Button.reshape(108,150,72,24);
add(pause_Button);
pause_Button.disable();
quit_Button = new java.awt.Button("退出交谈室");
quit_Button.reshape(108,77,72,24);
add(quit_Button);
quit_Button.disable();
userName_Label = new java.awt.Label("用户名",Label.CENTER);
userName_Label.reshape(0,5,60,24);
userName_Label.setBackground(Color.lightGray);
add(userName_Label);
userName_TextField = new java.awt.TextField();
userName_TextField.reshape(60,5,72,24);
userName_TextField.setFont(new Font("TimesRoman", Font.PLAIN, 13));
add(userName_TextField);
room_Choice = new java.awt.Choice();
add(room_Choice);
room_Choice.disable();
room_Choice.reshape(60,45,132,23);
room_Choice.setFont(new Font("Dialog", Font.PLAIN, 13));
room_Label = new java.awt.Label("交谈室",Label.CENTER);
room_Label.reshape(0,45,60,24);
room_Label.setBackground(Color.lightGray);
add(room_Label);
users_List = new java.awt.List(5,false);
add(users_List);
users_List.reshape(12,212,180,60);
users_List.setFont(new Font("Dialog", Font.PLAIN, 13));
subject_TextField = new java.awt.TextField();
subject_TextField.reshape(80,115,112,24);
subject_TextField.setFont(new Font("TimesRoman", Font.PLAIN, 13));
add(subject_TextField);
subject_TextField.disable();
subject_Label = new java.awt.Label("新交谈室主题",Label.CENTER);
subject_Label.reshape(0,115,72,24);
subject_Label.setBackground(Color.lightGray);
add(subject_Label);
users_Label = new java.awt.Label("当前交谈室用户",Label.CENTER);
users_Label.reshape(15,185,100,24);
users_Label.setBackground(Color.lightGray);
add(users_Label);
message_TextArea = new java.awt.TextArea();
message_TextArea.setEditable(false);
message_TextArea.appendText("\n欢迎您进入交谈室。");
message_TextArea.reshape(12,300,180,72);
message_TextArea.setFont(new Font("Dialog", Font.PLAIN, 13));
add(message_TextArea);
message_Label = new java.awt.Label("系统信息");
message_Label.reshape(12,276,88,28);
message_Label.setBackground(Color.lightGray);
add(message_Label);
board_Canvas = new java.awt.Canvas();
board_Canvas.reshape(216,36,324,216);
board_Canvas.setBackground(new Color(16777215));
add(board_Canvas);
board_Canvas.addNotify();
board_Canvas.disable();
board_Label = new java.awt.Label("绘画白板");
board_Label.reshape(216,12,100,24);
board_Label.setBackground(Color.lightGray);
add(board_Label);
clean_Button = new java.awt.Button("清除白板图画");
clean_Button.reshape(320,10,90,24);
add(clean_Button);
color_canvas1 = new java.awt.Canvas();
color_canvas1.reshape(552,36,20,24);
color_canvas1.setBackground(new Color(16777215));
add(color_canvas1);
currentColor_Canvas = new java.awt.Canvas();
currentColor_Canvas.reshape(564,228,20,24);
currentColor_Canvas.setBackground(new Color(0));
currentColor=new Color(0);
add(currentColor_Canvas);
color_Canvas12 = new java.awt.Canvas();
color_Canvas12.reshape(576,156,20,24);
color_Canvas12.setBackground(new Color(0));
add(color_Canvas12);
color_Canvas11 = new java.awt.Canvas();
color_Canvas11.reshape(552,156,20,24);
color_Canvas11.setBackground(new Color(65535));
add(color_Canvas11);
color_Canvas10 = new java.awt.Canvas();
color_Canvas10.reshape(576,132,20,24);
color_Canvas10.setBackground(new Color(255));
add(color_Canvas10);
color_Canvas9 = new java.awt.Canvas();
color_Canvas9.reshape(552,132,20,24);
color_Canvas9.setBackground(new Color(8421504));
add(color_Canvas9);
color_Canvas8 = new java.awt.Canvas();
color_Canvas8.reshape(576,108,20,24);
color_Canvas8.setBackground(new Color(65280));
add(color_Canvas8);
color_Canvas7 = new java.awt.Canvas();
color_Canvas7.reshape(552,108,20,24);
color_Canvas7.setBackground(new Color(12632256));
add(color_Canvas7);
color_Canvas6 = new java.awt.Canvas();
color_Canvas6.reshape(576,84,20,24);
color_Canvas6.setBackground(new Color(16711935));
add(color_Canvas6);
color_Canvas5 = new java.awt.Canvas();
color_Canvas5.reshape(552,84,20,24);
color_Canvas5.setBackground(new Color(16762880));
add(color_Canvas5);
color_Canvas4 = new java.awt.Canvas();
color_Canvas4.reshape(576,60,20,24);
color_Canvas4.setBackground(new Color(16756655));
add(color_Canvas4);
color_canvas3 = new java.awt.Canvas();
color_canvas3.reshape(552,60,20,24);
color_canvas3.setBackground(new Color(16711680));
add(color_canvas3);
color_Canvas2 = new java.awt.Canvas();
color_Canvas2.reshape(576,36,20,24);
color_Canvas2.setBackground(new Color(16776960));
add(color_Canvas2);
currentColor_Label = new java.awt.Label("当前色",Label.CENTER);
currentColor_Label.reshape(540,192,64,28);
currentColor_Label.setBackground(Color.lightGray);
add(currentColor_Label);
color_Label = new java.awt.Label("调色板",Label.CENTER);
color_Label.reshape(540,12,64,24);
color_Label.setBackground(Color.lightGray);
add(color_Label);
chat_TextField = new java.awt.TextField();
chat_TextField.reshape(216,340,324,24);
chat_TextField.setFont(new Font("Dialog", Font.PLAIN, 13));
add(chat_TextField);
chat_TextField.disable();
chat_TextArea = new java.awt.TextArea();
chat_TextArea.setEditable(false);
chat_TextArea.reshape(216,264,372,72);
chat_TextArea.setFont(new Font("Dialog", Font.PLAIN, 13));
add(chat_TextArea);
//}}
}
public boolean handleEvent(Event event) {
if (event.target == log_Button && event.id == Event.ACTION_EVENT) {
logButton_Clicked(event);
return true;
}
if (event.target == userName_TextField && event.id == Event.KEY_RELEASE) {
userNameTextField_KeyRelease(event);
return true;
}if (event.target == room_Choice && event.id == Event.ACTION_EVENT) {
roomChoice_Action(event);
return true;
}
if (event.target == pause_Button && event.id == Event.ACTION_EVENT) {
pauseButton_Clicked(event);
return true;
}
if (event.target == join_Button && event.id == Event.ACTION_EVENT) {
joinButton_Clicked(event);
return true;
}
if (event.target == quit_Button && event.id == Event.ACTION_EVENT) {
quitButton_Clicked(event);
return true;
}
if (event.target == subject_TextField && event.id == Event.KEY_RELEASE) {
subjectTextField_KeyRelease(event);
return true;
}
if (event.target == new_Button && event.id == Event.ACTION_EVENT) {
newButton_Clicked(event);
return true;
}
if ((event.target == board_Canvas) && (event.id == Event.MOUSE_DRAG)
&& (logged==true)&&(paused==false)) {
event.translate(-216,-36);
boardCanvas_MouseDrag(event);
return true;
}
if (event.target == board_Canvas && event.id == Event.MOUSE_MOVE) {
event.translate(-216,-36);
boardCanvas_MouseMove(event);
return true;
}
if (event.target == color_canvas1 && event.id == Event.MOUSE_DOWN) {
colorCanvas1_MouseDown(event);
return true;
}
if (event.target == color_Canvas2 && event.id == Event.MOUSE_DOWN) {
colorCanvas2_MouseDown(event);
return true;
}
if (event.target == color_canvas3 && event.id == Event.MOUSE_DOWN) {
colorCanvas3_MouseDown(event);
return true;
}
if (event.target == color_Canvas4 && event.id == Event.MOUSE_DOWN) {
colorCanvas4_MouseDown(event);
return true;
}
if (event.target == color_Canvas5 && event.id == Event.MOUSE_DOWN) {
colorCanvas5_MouseDown(event);
return true;
}
if (event.target == color_Canvas6 && event.id == Event.MOUSE_DOWN) {
colorCanvas6_MouseDown(event);
return true;
}
if (event.target == color_Canvas7 && event.id == Event.MOUSE_DOWN) {
colorCanvas7_MouseDown(event);
return true;
}
if (event.target == color_Canvas8 && event.id == Event.MOUSE_DOWN) {
colorCanvas8_MouseDown(event);
return true;
}
if (event.target == color_Canvas9 && event.id == Event.MOUSE_DOWN) {
colorCanvas9_MouseDown(event);
return true;
}
if (event.target == color_Canvas10 && event.id == Event.MOUSE_DOWN) {
colorCanvas10_MouseDown(event);
return true;
}
if (event.target == color_Canvas11 && event.id == Event.MOUSE_DOWN) {
colorCanvas11_MouseDown(event);
return true;
}
if (event.target == color_Canvas12 && event.id == Event.MOUSE_DOWN) {
colorCanvas12_MouseDown(event);
return true;
}
if (event.target == chat_TextField && event.id == Event.ACTION_EVENT) {
chatTextField_EnterHit(event);
return true;
}
if (event.target == chat_Button && event.id == Event.ACTION_EVENT) {
chatButton_Clicked(event);
return true;
}
if (event.target == clean_Button && event.id == Event.ACTION_EVENT) {
cleanButton_Clicked(event);
return true;
}
return super.handleEvent(event);
}
//{{DECLARE_CONTROLS
java.awt.Button chat_Button;
java.awt.Button log_Button;
java.awt.Button join_Button;
java.awt.Button new_Button;
java.awt.Button pause_Button;
java.awt.Button quit_Button;
java.awt.Label userName_Label;
java.awt.TextField userName_TextField;
java.awt.Choice room_Choice;
java.awt.Label room_Label;
java.awt.List users_List;
java.awt.TextField subject_TextField;
java.awt.Label subject_Label;
java.awt.Label users_Label;
java.awt.TextArea message_TextArea;
java.awt.Label message_Label;
java.awt.Canvas board_Canvas;
java.awt.Label board_Label;
java.awt.Canvas color_canvas1;
java.awt.Canvas currentColor_Canvas;
java.awt.Canvas color_Canvas12;
java.awt.Canvas color_Canvas11;
java.awt.Canvas color_Canvas10;
java.awt.Canvas color_Canvas9;
java.awt.Canvas color_Canvas8;
java.awt.Canvas color_Canvas7;
java.awt.Canvas color_Canvas6;
java.awt.Canvas color_Canvas5;
java.awt.Canvas color_Canvas4;
java.awt.Canvas color_canvas3;
java.awt.Canvas color_Canvas2;
java.awt.Label currentColor_Label;
java.awt.Label color_Label;
java.awt.TextField chat_TextField;
java.awt.TextArea chat_TextArea;
java.awt.Button clean_Button;
Logo logo;
Image logo_Image=null;
final static String imageFileName="cdownlogo.jpg";
//}}
}
// class applet ended
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -