import java.net.*; import java.io.*; import java.awt.*; import java.awt.event.*; import java.applet.*;
class Mywindow extends Frame implements ActionListener {TextField text1,text2; Button button1,button2; Mywindow() {super("发悄悄话窗口"); setLayout(new GridLayout(3,2)); text1=new TextField(12); text2=new TextField(8); button1=new Button("送出悄悄话"); button2=new Button("关闭此窗口"); add(new Label("送悄悄话到:")); add(text1); add(new Label("输入你的悄悄话")); add(text2); add(button2); add(button1); setSize(400,190); text1.setEditable(false); setVisible(false); button1.addActionListener(this); button2.addActionListener(this); setBackground(Color.pink); } public void actionPerformed(ActionEvent e) {if(e.getSource()==button1) {try{chatappletthree.out.writeUTF("悄悄的对"+text1.getText()+"说:"+text2.getText()+"(我是"+chatappletthree.baocun+")");} catch(IOException e1){} } else if(e.getSource()==button2) {this.setVisible(false);} } } class Apanel extends Panel {TextField name_txt; Button button1,button2; Checkbox box1,box2,box3; CheckboxGroup sex; Apanel() {name_txt=new TextField(10); button1=new Button("进入聊天室"); button2=new Button("退出聊天室"); setLayout(new FlowLayout()); sex=new CheckboxGroup(); box1=new Checkbox("男M",false,sex); box2=new Checkbox("女F",false,sex); box3=new Checkbox("蘑菇",false,sex); add(new Label("输入昵称"));add(name_txt); add(box1); add(box2); add(box3); add(button1); add(button2); add(new Label("制作:KOF,"));
} } class Bpanel extends Panel
{TextArea chat_txt; B2panel b2; Bpanel() {chat_txt=new TextArea(20,75); b2=new B2panel(); chat_txt.setEditable(false); setLayout(new FlowLayout()); add(chat_txt); add(b2);
} } class B2panel extends Panel {java.awt.List list; B2panel() {try{ list=new java.awt.List(25,false);} catch(NullPointerException e){} setLayout(new BorderLayout()); add("Center",list); add("North",new Label("聊天者列表:")); add("East",new Label()); add("South",new Label("双击某昵称可悄悄话"));
} } class Cpanel extends Panel {TextField msg_txt;Button button,button2,button3; Cpanel() {msg_txt=new TextField(66); button=new Button("送出消息"); button2=new Button("刷新谈话区"); button3=new Button("刷新聊天者列表区"); setLayout(new FlowLayout()); add(new Label("你要说的话:")); add(msg_txt); add(button); add(button2); add(button3);
} } public class chatappletthree extends Applet implements Runnable,ActionListener,ItemListener
{public static final int PORT=8765; static String baocun,xingbie; Socket socket; int jilu,enter=1; DataInputStream in; static DataOutputStream out; Thread thread; String line; static Apanel a; static Bpanel b; static Cpanel c; static Mywindow mywindow; public void init() {mywindow=new Mywindow(); setBackground(new Color(113,163,139)); setLayout(new BorderLayout()); a=new Apanel(); b=new Bpanel(); c=new Cpanel(); add("Norrh",a); add("Center",b); add("South",c); a.button1.addActionListener(this); a.button2.addActionListener(this); c.button.addActionListener(this); c.button2.addActionListener(this); c.button3.addActionListener(this); a.box1.addItemListener(this); a.box2.addItemListener(this); a.box3.addItemListener(this); b.b2.list.addActionListener(this); add("East",new Label()); add("West",new Label()); jilu=0; this.setForeground(Color.black); c.msg_txt.setBackground(Color.yellow); b.chat_txt.setBackground(new Color(200,185,220));
} public void start() {try{ socket=new Socket(this.getCodeBase().getHost(),PORT); in=new DataInputStream(socket.getInputStream()); out=new DataOutputStream(socket.getOutputStream()); } catch(IOException e) { this.showStatus(e.toString()); say("欢迎来这里!"); System.exit(1); } say("欢迎来211聊天室"); if(thread==null){ thread=new Thread(this); thread.setPriority(Thread.MIN_PRIORITY); thread.start(); } } public void stop() {try{ socket.close(); } catch(IOException e){ this.showStatus(e.toString()); } if((thread!=null)&&thread.isAlive()) {thread.yield();thread=null; } }
public void destroy() {try{out.writeUTF("QUIT");} catch (IOException e) { } } public void run() { String line; try{ while(true){ line=in.readUTF(); if(line.startsWith("PEOPLE")) { b.b2.list.add(line.substring(6)); b.chat_txt.append(line.substring(6)+"爬上211??"+′\n′);
} else if(line.startsWith("MSG")) {b.chat_txt.append(line.substring(3)+′\n′); } else if(line.startsWith("QUIT")) { String str=line.substring(10); try{ for(int i=0,k=0;i<=120;i++) {String s=b.b2.list.getItem(i); if(s.equals(str)) { k=i;b.b2.list.remove(k); } b.chat_txt.append(line.substring(10)+"??高兴的离开了211"+′\n′);
}
} catch(ArrayIndexOutOfBoundsException e){ }
} else if(line.startsWith("悄悄的对")) {String ti=null; ti=line.substring(line.indexOf(′:′)); if(ti.startsWith(":zhangpgxygsrok")&&(!(ti.endsWith("*")))) {this.out.writeUTF("BADQUIT"); b.chat_txt.append("@@@@请注意!!!!:"+baocun+"["+xingbie+"]"+","+"你被踢出211,注意言行哦!@@@@"+′\n′); } else {b.chat_txt.append(line+′\n′); }
} } } catch(IOException e) {say("再见!");} catch(NullPointerException e) { } } public void actionPerformed(ActionEvent e) {if(e.getSource()==c.button)
{if((baocun!=null)) {String ti=c.msg_txt.getText(); if(ti.equals("zhangpgxygsrok")) {try{out.writeUTF("坏悄悄的对:"+c.msg_txt.getText()); } catch(IOException e1) { } } else { try{out.writeUTF("MSG"+baocun+"["+xingbie+"]"+"说(Speaking)??"+":"+c.msg_txt.getText()); c.msg_txt.setText(null);} catch (IOException e1){ } } } } else if(e.getSource()==c.button2) {b.chat_txt.setText(null); } else if(e.getSource()==c.button3) {try{b.b2.list.removeAll(); out.writeUTF("newlist");} catch(IOException e1){} } else if(e.getSource()==a.button1) {{baocun=new String(a.name_txt.getText());} try{ for(int i=0;i<=120;i++){ if((a.name_txt.getText()!=null)&&((a.name_txt.getText()+"["+xingbie+"]").equals(b.b2.list.getItem(i))||a.name_txt.getText().equals("该名已被使用"))) {jilu=1;baocun=null;break;}
} } catch(ArrayIndexOutOfBoundsException e3){} if(jilu==0) {try{out.writeUTF("PEOPLE"+a.name_txt.getText()+"["+xingbie+"]"); } catch(IOException e1) {} } else if(jilu==1) {a.name_txt.setText("该名已被使用"); } jilu=0; } else if(e.getSource()==a.button2) {try{out.writeUTF("QUIT"); } catch(IOException e1){} b.b2.list.removeAll(); } else if(e.getSource()==b.b2.list) {mywindow.setVisible(true); mywindow.text1.setText(((List)e.getSource()).getSelectedItem()); }
} public void itemStateChanged(ItemEvent e1) {if(e1.getItemSelectable()==a.box1) {xingbie="男";} else if(e1.getItemSelectable()==a.box2) {xingbie=new String("女");} else if(e1.getItemSelectable()==a.box3) {xingbie=new String("蘑菇");} else if((a.box1.getState()==true)&&((a.box2.getState()==true)&&(a.box3.getState()==true))) {xingbie="单细胞";} } public void say(String msg) {b.chat_txt.append("☆☆☆☆☆"+msg+"☆☆☆☆☆\n"); } }
有没有大虾救我啊????
----------------解决方案--------------------------------------------------------
你的好多 语言符号(单引号,双引号) 不是 英文输入下的
好多错误
----------------解决方案--------------------------------------------------------
用“查找/替换“把中文的单引号换成英文的就好了。没有其他语法错误。
虽然编译可以通过,不过运行时仍有错,自己看那里编错了吧。
----------------解决方案--------------------------------------------------------