⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000003.htm

📁 水木清华BBS
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;hasty&nbsp;(闲情逸致),&nbsp;信区:&nbsp;Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>我写了一个简单的聊天室&nbsp;<BR>服务器端是应用程序,用的是这几个类:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NetworkServer,BufferedReader,BufferedWriter&nbsp;<BR>客户端是Applet,用的是&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NetworkClient,BufferedReader,BufferedWriter&nbsp;<BR>支持中文应该是没有问题的&nbsp;<BR>但我在JBuilder中运行Applet,一切正常&nbsp;<BR>而在浏览器(IE&nbsp;4.0)下运行中文无法显示&nbsp;<BR>而用Appletviewer运行则根本连接不上服务器端&nbsp;<BR>后来我用PrintWriter代替BufferedWriter&nbsp;<BR>结果浏览器下运行时是有些中文能显示,有些就只能是&quot;?&quot;&nbsp;<BR>而在Jbuilder下仍然工作的很好&nbsp;<BR>我百思不得其解,不知道您能不能帮我?&nbsp;<BR>&nbsp;<BR>另外,运行客户端需要提供UserName,我现在是在参数中&nbsp;<BR>直接指定了一个值&nbsp;<BR>如果让用户填写一个Form取得UserName,传递给Applet该怎么做呢?&nbsp;<BR>&nbsp;<BR>谢谢!&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>发信人:&nbsp;CinC&nbsp;(Commander),&nbsp;信区:&nbsp;Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;另外,运行客户端需要提供UserName,我现在是在参数中&nbsp;</I><BR>∶<I>&nbsp;直接指定了一个值&nbsp;</I><BR>∶<I>&nbsp;如果让用户填写一个Form取得UserName,传递给Applet该怎么做呢?&nbsp;</I><BR>&nbsp;<BR>------------------------------------------------&nbsp;<BR>我的做法:&nbsp;<BR>&nbsp;<BR>//InputFrame&nbsp;类:&nbsp;<BR>&nbsp;<BR>import&nbsp;java.awt.*;&nbsp;<BR>import&nbsp;java.awt.event.*;&nbsp;<BR>&nbsp;<BR>public&nbsp;class&nbsp;InputFrame&nbsp;extends&nbsp;Frame&nbsp;implements&nbsp;ActionListener{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;okButton;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;TextField&nbsp;tf;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;input=null;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;InputFrame&nbsp;(String&nbsp;str){&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setLayout(new&nbsp;GridLayout(3,1));&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setSize(200,100);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setLocation&nbsp;(200,200);&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;(new&nbsp;Label&nbsp;(str));&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tf&nbsp;=&nbsp;new&nbsp;TextField();&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tf.addActionListener(this);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;(tf);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;okButton&nbsp;=&nbsp;new&nbsp;Button(&quot;OK&quot;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;okButton.addActionListener(this);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;(okButton);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setVisible(true);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;When&nbsp;Enter&nbsp;pressed&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;actionPerformed(ActionEvent&nbsp;e){&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;str&nbsp;=tf.getText();&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(str.compareTo(&quot;&quot;)!=0)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;input&nbsp;=&nbsp;tf.getText();&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Keep&nbsp;Getting&nbsp;Input&nbsp;until&nbsp;input&nbsp;is&nbsp;not&nbsp;null&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;getInput(){&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(input&nbsp;==&nbsp;null)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(100);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}catch&nbsp;(Exception&nbsp;e){}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setVisible(false);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;input;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>//测试类:&nbsp;<BR>import&nbsp;java.applet.Applet;&nbsp;<BR>import&nbsp;java.awt.*;&nbsp;<BR>&nbsp;<BR>public&nbsp;class&nbsp;MyApplet&nbsp;extends&nbsp;Applet{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;userName;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;MyApplet(){&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputDialog&nbsp;inputDialog&nbsp;=&nbsp;new&nbsp;InputDialog(&quot;Please&nbsp;input&nbsp;your&nbsp;name&nbsp;:&nbsp;&quot;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userName&nbsp;=&nbsp;inputDialog.getInput();&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start();&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;paint(Graphics&nbsp;g){&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.drawString(userName,&nbsp;100,&nbsp;100);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>发信人:&nbsp;hasty&nbsp;(闲情逸致),&nbsp;信区:&nbsp;Java&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;CinC&nbsp;(Commander)&nbsp;的大作中提到:&nbsp;】
&nbsp;<BR>∶<I>&nbsp;------------------------------------------------
&nbsp;</I><BR>∶<I>&nbsp;我的做法:
&nbsp;</I><BR>
&nbsp;<BR>谢谢!看到你的文章之前,根据soybean网友的提示(见3776)
&nbsp;<BR>我刚刚用另外一种方法达到目的(利用Javascript):
&nbsp;<BR>
&nbsp;<BR>&lt;script&nbsp;language=&quot;JavaScript&quot;&gt;
&nbsp;<BR>&lt;!--&nbsp;填写用户名进入聊天室
&nbsp;<BR>function&nbsp;GotoChat(UserName)
&nbsp;<BR>{
&nbsp;<BR>&nbsp;document.write('&lt;p&nbsp;align=&quot;center&quot;&gt;&lt;font&nbsp;color=&quot;#0000FF&quot;&nbsp;size=&quot;5&quot;&gt;&lt;strong&gt;东南&nbsp;<BR>大学办公BBS站-聊天室&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;');
&nbsp;<BR>&nbsp;document.write('&lt;center&gt;&lt;applet&nbsp;CODEBASE=&quot;chat/&quot;&nbsp;CODE=&quot;ChatClient.class&quot;&nbsp;&nbsp;<BR>NAME=&quot;Chat&quot;&nbsp;WIDTH=&quot;400&quot;&nbsp;HEIGHT=&quot;300&quot;&nbsp;HSPACE=&quot;0&quot;&nbsp;VSPACE=&quot;0&quot;&nbsp;ALIGN=&quot;middle&quot;&gt;');
&nbsp;<BR>&nbsp;<BR>&nbsp;document.write('&lt;param&nbsp;name=&quot;Host&quot;&nbsp;value=202.119.11.179&gt;');
&nbsp;<BR>&nbsp;document.write('&lt;param&nbsp;name=&quot;Port&quot;&nbsp;value=7218&quot;&gt;');
&nbsp;<BR>&nbsp;document.write('&lt;param&nbsp;name=&quot;UserName&quot;&nbsp;value='+UserName+'&gt;&lt;/applet&gt;&lt;/center&gt;'&nbsp;<BR>);
&nbsp;<BR>&nbsp;&nbsp;document.write('&lt;p&nbsp;align=&quot;center&quot;&gt;&lt;a&nbsp;href=&quot;bbsmain.htm&quot;&gt;&lt;img&nbsp;&nbsp;<BR>src=&quot;images/sonic.gif&quot;&nbsp;&nbsp;alt=&quot;返回主选单&quot;&nbsp;border=&quot;0&quot;&nbsp;width=&quot;42&quot;&nbsp;height=&quot;42&quot;&gt;返&nbsp;<BR>回主选单&lt;/a&gt;&lt;/p&gt;');
&nbsp;<BR>}
&nbsp;<BR>//&nbsp;--&nbsp;结束JavaScript&nbsp;--&gt;
&nbsp;<BR>&lt;/script&gt;
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>&lt;form&nbsp;method=&quot;POST&quot;&nbsp;name=&quot;FormGetName&quot;&gt;
&nbsp;<BR>&nbsp;&nbsp;&lt;div&nbsp;align=&quot;center&quot;&gt;&lt;center&gt;&lt;p&gt;&lt;font&nbsp;color=&quot;#FF00FF&quot;&gt;&lt;strong&gt;您的聊天代号:&nbsp;<BR>&lt;/strong&gt;&lt;/font&gt;&lt;input
&nbsp;<BR>&nbsp;&nbsp;type=&quot;text&quot;&nbsp;name=&quot;Name&quot;&nbsp;size=&quot;20&quot;&gt;&lt;/p&gt;
&nbsp;<BR>&nbsp;&nbsp;&lt;/center&gt;&lt;/div&gt;&lt;div&nbsp;align=&quot;center&quot;&gt;&lt;center&gt;&lt;p&gt;&lt;input&nbsp;type=&quot;submit&quot;&nbsp;value=&quot;进&nbsp;<BR>入&quot;
&nbsp;<BR>&nbsp;&nbsp;name=&quot;B1&quot;&nbsp;onclick=&quot;JavaScript:GotoChat(Name.value)&quot;&gt;&amp;nbsp;&amp;nbsp;&nbsp;&lt;input&nbsp;&nbsp;<BR>type=&quot;reset&quot;
&nbsp;<BR>&nbsp;&nbsp;value=&quot;清除&quot;&nbsp;name=&quot;B2&quot;&gt;&lt;/p&gt;
&nbsp;<BR>&nbsp;&nbsp;&lt;/center&gt;&lt;/div&gt;
&nbsp;<BR>&lt;/form&gt;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>发信人:&nbsp;NetAnt&nbsp;(马上就要答辩啦),&nbsp;信区:&nbsp;Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>如果在navigator中,用LiveConnect很方便。在applet中&nbsp;<BR>写个:&nbsp;<BR>public&nbsp;getUsername(String&nbsp;strUsername){&nbsp;<BR>&nbsp;&nbsp;this.strUsername&nbsp;=&nbsp;strUsername;&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>在页面的javascript中直接调就行.&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;hasty&nbsp;(闲情逸致)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;【&nbsp;在&nbsp;CinC&nbsp;(Commander)&nbsp;的大作中提到:&nbsp;】&nbsp;</I><BR>∶<I>&nbsp;&nbsp;</I><BR>∶<I>&nbsp;谢谢!看到你的文章之前,根据soybean网友的提示(见3776)&nbsp;</I><BR>∶<I>&nbsp;我刚刚用另外一种方法达到目的(利用Javascript):&nbsp;</I><BR>∶<I>&nbsp;&nbsp;</I><BR>∶<I>&nbsp;&lt;script&nbsp;language=&quot;JavaScript&quot;&gt;&nbsp;</I><BR>∶<I>&nbsp;&lt;!--&nbsp;填写用户名进入聊天室&nbsp;</I><BR>∶<I>&nbsp;function&nbsp;GotoChat(UserName)&nbsp;</I><BR>∶<I>&nbsp;{&nbsp;</I><BR>∶<I>&nbsp;&nbsp;document.write('&lt;p&nbsp;align=&quot;center&quot;&gt;&lt;font&nbsp;color=&quot;#0000FF&quot;&nbsp;size=&quot;5&quot;&gt;&lt;strong&gt;东南&nbsp;</I><BR>∶<I>&nbsp;大学办公BBS站-聊天室&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;');&nbsp;</I><BR>∶<I>&nbsp;&nbsp;document.write('&lt;center&gt;&lt;applet&nbsp;CODEBASE=&quot;chat/&quot;&nbsp;CODE=&quot;ChatClient.class&quot;&nbsp;&nbsp;</I><BR>∶<I>&nbsp;NAME=&quot;Chat&quot;&nbsp;WIDTH=&quot;400&quot;&nbsp;HEIGHT=&quot;300&quot;&nbsp;HSPACE=&quot;0&quot;&nbsp;VSPACE=&quot;0&quot;&nbsp;ALIGN=&quot;middle&quot;&gt;');&nbsp;</I><BR>∶<I>&nbsp;&nbsp;document.write('&lt;param&nbsp;name=&quot;Host&quot;&nbsp;value=202.119.11.179&gt;');&nbsp;</I><BR>∶<I>&nbsp;&nbsp;document.write('&lt;param&nbsp;name=&quot;Port&quot;&nbsp;value=7218&quot;&gt;');&nbsp;</I><BR>∶<I>&nbsp;&nbsp;document.write('&lt;param&nbsp;name=&quot;UserName&quot;&nbsp;value='+UserName+'&gt;&lt;/applet&gt;&lt;/center&gt;'&nbsp;</I><BR>∶<I>&nbsp;);&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;document.write('&lt;p&nbsp;align=&quot;center&quot;&gt;&lt;a&nbsp;href=&quot;bbsmain.htm&quot;&gt;&lt;img&nbsp;&nbsp;</I><BR>∶<I>&nbsp;src=&quot;images/sonic.gif&quot;&nbsp;&nbsp;alt=&quot;返回主选单&quot;&nbsp;border=&quot;0&quot;&nbsp;width=&quot;42&quot;&nbsp;height=&quot;42&quot;&gt;返&nbsp;</I><BR>∶<I>&nbsp;回主选单&lt;/a&gt;&lt;/p&gt;');&nbsp;</I><BR>∶<I>&nbsp;}&nbsp;</I><BR>∶<I>&nbsp;//&nbsp;--&nbsp;结束JavaScript&nbsp;--&gt;&nbsp;</I><BR>∶<I>&nbsp;&lt;/script&gt;&nbsp;</I><BR>∶<I>&nbsp;&nbsp;</I><BR>∶<I>&nbsp;&nbsp;</I><BR>∶<I>&nbsp;&lt;form&nbsp;method=&quot;POST&quot;&nbsp;name=&quot;FormGetName&quot;&gt;&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&lt;div&nbsp;align=&quot;center&quot;&gt;&lt;center&gt;&lt;p&gt;&lt;font&nbsp;color=&quot;#FF00FF&quot;&gt;&lt;strong&gt;您的聊天代号:&nbsp;</I><BR>∶<I>&nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;input&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;type=&quot;text&quot;&nbsp;name=&quot;Name&quot;&nbsp;size=&quot;20&quot;&gt;&lt;/p&gt;&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&lt;/center&gt;&lt;/div&gt;&lt;div&nbsp;align=&quot;center&quot;&gt;&lt;center&gt;&lt;p&gt;&lt;input&nbsp;type=&quot;submit&quot;&nbsp;value=&quot;进&nbsp;</I><BR>∶<I>&nbsp;入&quot;&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;name=&quot;B1&quot;&nbsp;onclick=&quot;JavaScript:GotoChat(Name.value)&quot;&gt;&amp;nbsp;&amp;nbsp;&nbsp;&lt;input&nbsp;&nbsp;</I><BR>∶<I>&nbsp;type=&quot;reset&quot;&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;value=&quot;清除&quot;&nbsp;name=&quot;B2&quot;&gt;&lt;/p&gt;&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&lt;/center&gt;&lt;/div&gt;&nbsp;</I><BR>∶<I>&nbsp;&lt;/form&gt;&nbsp;</I><BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -