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