求borland.jbcl.*包,哪位有请发给我,或告诉我下载地址,50分相谢...... 你说的可是com.borland.jbcl.*?你装了JBuilder(4)吗?在安装目录下的src里你可以看到jbcl-src.jar ... 那是源代码, 编译好的在lib下的jbcl里 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 jbuilder里有,在组件面板里添加后才可以使用 感谢楼上的高手!我都已加分,如有时间,请帮我编译一下这个文件,这里就用到了borland.jbcl.*包,另外50分相谢!/*源程序清单5-22*/import java.net.*;import java.awt.*;import java.awt.event.*;import java.applet.*;import javax.swing.*;import com.borland.jbcl.layout.*;import java.io.*;import java.util.*;public class TalkApplet extends JApplet implements Runnable{ boolean isStandalone = false; Label userInfo = new Label(); TextField userText = new TextField(); Label label1 = new Label(); TextArea messageText = new TextArea(); Button sendButton = new Button(); java.awt.List userList = new java.awt.List(); URL chatURL; URLConnection connect; //用于标识用户是否登录 boolean loggedin=false; String username; Thread pollThread=null; PaneLayout paneLayout1 = new PaneLayout(); /**Get a parameter value*/ public String getParameter(String key, String def) { return isStandalone ? System.getProperty(key, def) : (getParameter(key) != null ? getParameter(key) : def); } /**Construct the applet*/ public TalkApplet() { } /**Initialize the applet*/ public void init() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } /**Component initialization*/ private void jbInit() throws Exception { if(pollThread!=null) return; userInfo.setText("请输入用户名(请不要超过10个字符):"); this.setSize(new Dimension(400,300)); this.getContentPane().setLayout(paneLayout1); label1.setText("聊天内容:"); messageText.setEditable(false); sendButton.setLabel("发送"); sendButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { sendButton_actionPerformed(e); } }); userText.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { userText_actionPerformed(e); } }); this.getContentPane().add(userInfo, new PaneConstraints("userInfo", "userInfo", PaneConstraints.ROOT, 1.0f)); this.getContentPane().add(userText, new PaneConstraints("userText", "userInfo", PaneConstraints.BOTTOM, 0.9166667f)); this.getContentPane().add(messageText, new PaneConstraints("messageText", "userText", PaneConstraints.BOTTOM, 0.90181816f)); this.getContentPane().add(userList, new PaneConstraints("userList", "messageText", PaneConstraints.TOP, 0.24193548f)); this.getContentPane().add(sendButton, new PaneConstraints("sendButton", "userList", PaneConstraints.LEFT, 0.6125f)); this.getContentPane().add(label1, new PaneConstraints("label1", "sendButton", PaneConstraints.BOTTOM, 0.6f)); chatURL=getCodeBase(); int currPriority=Thread.currentThread().getPriority(); int newPriority=currPriority==Thread.MIN_PRIORITY?Thread.MIN_PRIORITY:currPriority-1; pollThread=new Thread(this,"talkPoll"); pollThread.setDaemon(true); pollThread.setPriority(newPriority); pollThread.start(); } /**Get Applet information*/ public String getAppletInfo() { return "Applet Information"; } /**Get parameter info*/ public String[][] getParameterInfo() { return null; } public synchronized void start() { if(!isLoggedin()&&username!=null) login(); if(pollThread!=null&&pollThread.isAlive()) { pollThread.resume(); } else { pollThread=new Thread(this,"talkPoll"); pollThread.setDaemon(true); pollThread.start(); } } //当Applet在浏览器中不可见时,就挂起线程pollthread,并退出"聊天室" public synchronized void stop() { if (pollThread.isAlive()) { pollThread.suspend(); } logout(); } public synchronized void destroy() { if (pollThread != null && pollThread.isAlive()) { pollThread.stop(); pollThread = null; } logout(); } //每隔3秒从服务器中取别的用户输入的信息和加入聊天室的用户 public void run() { while (!Thread.interrupted()) { //若用户已经登陆,则不时的取回别的用户输入的信息 //和机如的的用户名 if (isLoggedin()) { pollList(); poll(); } //若没有用户登陆,则取回正在聊天室中的用户 else { pollList(); } try { //睡眠3秒钟 Thread.sleep(1000*3); } catch (InterruptedException e) { } } } //登陆到服务器 private void login() { if (username ==null) return; String queryString = "chatservlet?mode=login&user="+URLEncoder.encode(username); //与服务器通信 try { connect = (new URL(chatURL,queryString)).openConnection(); connect.setDefaultUseCaches(false); connect.setUseCaches(false); connect.setDoInput(true); connect.setDoOutput(false); connect.connect(); DataInputStream in = new DataInputStream(connect.getInputStream()); String response = in.readLine(); if (response.startsWith("+")) { //标识用户已经登陆 setLoggedin(true); showStatus("登录用户名:" + username); //提示用户输入信息 userInfo.setText("请输入你需要发送的信息:"); repaint(); } else { showStatus("Error logging in " + response); System.err.println("Error logging in " + response); } } catch (MalformedURLException e2) { System.err.println("MalformedURLException logging in!"); e2.printStackTrace(System.err); showStatus("Error logging in!"); } catch (IOException e1) { System.err.println("IOException logging in!"); e1.printStackTrace(System.err); showStatus("Error logging in!"); } } //退出聊天室 private void logout() { if (!isLoggedin() || username ==null) { return; } String queryString = "chatservlet?mode=logout&username=" +URLEncoder.encode(username); //与服务器通信 try { connect = (new URL(chatURL,queryString)).openConnection(); connect.setUseCaches(false); connect.setDoInput(true); connect.setDoOutput(false); connect.connect(); DataInputStream in = new DataInputStream(connect.getInputStream()); String response = in.readLine(); if (response.startsWith("+")) { //标识用户已经退出聊天室 setLoggedin(false); showStatus(username + "离开聊天室!"); } else { showStatus("Error logging out" + response); System.err.println("Error logging out" + response); } } catch (MalformedURLException e2) { System.err.println("MalformedURLException logging out!"); e2.printStackTrace(System.err); showStatus("Error logging out!"); } catch (IOException e1) { System.err.println("IOException logging out!"); e1.printStackTrace(System.err); showStatus("Error logging out!"); } } //发送用户输入的信息 private void send() { String message = userText.getText(); //用户输入空字符串不发送 if (message.equals("")) { return; } //清除用户在Applet中输入的内容 userText.setText(""); showStatus("发送信息!"); String queryString = "chatservlet?mode=send&user="+URLEncoder.encode(username); queryString = queryString + "&message="+URLEncoder.encode(message); try { connect = (new URL(chatURL,queryString)).openConnection(); connect.setUseCaches(false); connect.setDoInput(true); connect.setDoOutput(false); connect.connect(); DataInputStream in = new DataInputStream(connect.getInputStream()); String response = in.readLine(); if (response.startsWith("+")) { showStatus("信息发送出去了"); } else { showStatus("发送信息错误 " + response); System.err.println("Error sending message " + response); } } catch (MalformedURLException e2) { System.err.println("MalformedURLException logging in!"); e2.printStackTrace(System.err); showStatus("Error logging in!"); } catch (IOException e1) { System.err.println("IOException logging in!"); e1.printStackTrace(System.err); showStatus("Error logging in!"); } } //返回所有用户输入的信息 private void poll() { String queryString = "chatservlet?mode=poll&user=" +URLEncoder.encode(username); try { DataInputStream in = new DataInputStream( new URL(chatURL,queryString).openStream()); String nextLine = in.readLine(); if (!nextLine.startsWith("+")) { showStatus("Error getting messages from server!"); System.err.println("Error getting messages from server!"); return; } nextLine = in.readLine(); while (nextLine != null && !nextLine.equals(".")) { System.err.println(nextLine); messageText.appendText(nextLine + "\r\n"); repaint(); nextLine = in.readLine(); } } catch (IOException e) { System.err.println("IOException poll!"); e.printStackTrace(System.err); } } //返回正在聊天室中的用户 private void pollList() { String queryString = "chatservlet?mode=list"; Vector users = new Vector(); try { URL listURL = new URL(chatURL,queryString); URLConnection listConn = listURL.openConnection(); listConn.setDefaultUseCaches(false); listConn.setUseCaches(false); listConn.connect(); DataInputStream in = new DataInputStream( listConn.getInputStream()); String nextLine = in.readLine(); if (!nextLine.startsWith("+")) { showStatus("Error getting userlist from server!"); return; } nextLine = in.readLine(); while (nextLine != null && !nextLine.equals(".")) { users.addElement(nextLine); nextLine = in.readLine(); } //清除旧的用户表,加入新的 if (!users.isEmpty()) { userList.clear(); int size = users.size(); for (int I=0;I<size ;I++ ) { userList.addItem((String)users.elementAt(I)); } } else { userList.clear(); userList.addItem("None logged in!"); } repaint(); } catch (IOException e) { System.err.println("IOException poll!"); e.printStackTrace(System.err); showStatus("Error Checking Message!"); } } //判断用户是否已经登陆到聊天室 public boolean isLoggedin() { return loggedin; } //设置用户是否登陆的状态 protected void setLoggedin(boolean newval) { loggedin = newval; } void sendButton_actionPerformed(ActionEvent e) { sendText(); } void sendText() { if (isLoggedin()) { send(); } else { username = userText.getText(); if (username.length()>10) { showStatus("请不要超过10个字符!"); } else { userText.setText(""); login(); } } } void userText_actionPerformed(ActionEvent e) { sendText(); }} 求myeclipse6.0或6.5 for linux的安装文件 用ant编译idl生成的代码时出现 illegal character: \64的问题 关于数据传入数据库失准的问题 请教高手2个问题! Java中UpdateUI方法怎样使用? 初学JAVA 不知错在哪了? 急...如何屏蔽JDialog类标题栏上的"X" JLabel问题 一个超级菜鸟的问题,请高手指点 我想用APPLET实现读取客户端的图片文件,该如何实现? java如何实现对网络的监听(抓包)功能?? 谁能告诉我 如何安装jdk
/*源程序清单5-22*/import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.io.*;
import java.util.*;public class TalkApplet extends JApplet implements Runnable
{
boolean isStandalone = false;
Label userInfo = new Label();
TextField userText = new TextField();
Label label1 = new Label();
TextArea messageText = new TextArea();
Button sendButton = new Button();
java.awt.List userList = new java.awt.List(); URL chatURL;
URLConnection connect;
//用于标识用户是否登录
boolean loggedin=false;
String username;
Thread pollThread=null;
PaneLayout paneLayout1 = new PaneLayout();
/**Get a parameter value*/
public String getParameter(String key, String def)
{
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
} /**Construct the applet*/
public TalkApplet()
{
} /**Initialize the applet*/
public void init()
{
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
/**Component initialization*/
private void jbInit() throws Exception {
if(pollThread!=null)
return;
userInfo.setText("请输入用户名(请不要超过10个字符):");
this.setSize(new Dimension(400,300));
this.getContentPane().setLayout(paneLayout1);
label1.setText("聊天内容:");
messageText.setEditable(false);
sendButton.setLabel("发送");
sendButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
sendButton_actionPerformed(e);
}
});
userText.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
userText_actionPerformed(e);
}
});
this.getContentPane().add(userInfo, new PaneConstraints("userInfo", "userInfo", PaneConstraints.ROOT, 1.0f));
this.getContentPane().add(userText, new PaneConstraints("userText", "userInfo", PaneConstraints.BOTTOM, 0.9166667f));
this.getContentPane().add(messageText, new PaneConstraints("messageText", "userText", PaneConstraints.BOTTOM, 0.90181816f));
this.getContentPane().add(userList, new PaneConstraints("userList", "messageText", PaneConstraints.TOP, 0.24193548f));
this.getContentPane().add(sendButton, new PaneConstraints("sendButton", "userList", PaneConstraints.LEFT, 0.6125f));
this.getContentPane().add(label1, new PaneConstraints("label1", "sendButton", PaneConstraints.BOTTOM, 0.6f));
chatURL=getCodeBase();
int currPriority=Thread.currentThread().getPriority();
int newPriority=currPriority==Thread.MIN_PRIORITY?Thread.MIN_PRIORITY:currPriority-1;
pollThread=new Thread(this,"talkPoll");
pollThread.setDaemon(true);
pollThread.setPriority(newPriority);
pollThread.start();
} /**Get Applet information*/
public String getAppletInfo()
{
return "Applet Information";
}
/**Get parameter info*/
public String[][] getParameterInfo()
{
return null;
} public synchronized void start()
{
if(!isLoggedin()&&username!=null)
login();
if(pollThread!=null&&pollThread.isAlive())
{
pollThread.resume();
}
else
{
pollThread=new Thread(this,"talkPoll");
pollThread.setDaemon(true);
pollThread.start();
}
}
//当Applet在浏览器中不可见时,就挂起线程pollthread,并退出"聊天室"
public synchronized void stop()
{
if (pollThread.isAlive())
{
pollThread.suspend();
}
logout();
} public synchronized void destroy()
{
if (pollThread != null && pollThread.isAlive())
{
pollThread.stop();
pollThread = null;
}
logout();
} //每隔3秒从服务器中取别的用户输入的信息和加入聊天室的用户
public void run()
{
while (!Thread.interrupted())
{
//若用户已经登陆,则不时的取回别的用户输入的信息
//和机如的的用户名
if (isLoggedin())
{
pollList();
poll();
}
//若没有用户登陆,则取回正在聊天室中的用户
else
{
pollList();
}
try
{
//睡眠3秒钟
Thread.sleep(1000*3);
}
catch (InterruptedException e)
{
}
}
} //登陆到服务器
private void login()
{
if (username ==null) return;
String queryString = "chatservlet?mode=login&user="+URLEncoder.encode(username);
//与服务器通信
try
{
connect = (new URL(chatURL,queryString)).openConnection();
connect.setDefaultUseCaches(false);
connect.setUseCaches(false);
connect.setDoInput(true);
connect.setDoOutput(false);
connect.connect();
DataInputStream in = new DataInputStream(connect.getInputStream());
String response = in.readLine();
if (response.startsWith("+"))
{
//标识用户已经登陆
setLoggedin(true);
showStatus("登录用户名:" + username);
//提示用户输入信息
userInfo.setText("请输入你需要发送的信息:");
repaint();
}
else
{
showStatus("Error logging in " + response);
System.err.println("Error logging in " + response);
}
}
catch (MalformedURLException e2)
{
System.err.println("MalformedURLException logging in!");
e2.printStackTrace(System.err);
showStatus("Error logging in!");
}
catch (IOException e1)
{
System.err.println("IOException logging in!");
e1.printStackTrace(System.err);
showStatus("Error logging in!");
}
} //退出聊天室
private void logout()
{
if (!isLoggedin() || username ==null)
{
return;
}
String queryString = "chatservlet?mode=logout&username=" +URLEncoder.encode(username);
//与服务器通信
try
{
connect = (new URL(chatURL,queryString)).openConnection();
connect.setUseCaches(false);
connect.setDoInput(true);
connect.setDoOutput(false);
connect.connect();
DataInputStream in = new DataInputStream(connect.getInputStream());
String response = in.readLine();
if (response.startsWith("+"))
{
//标识用户已经退出聊天室
setLoggedin(false);
showStatus(username + "离开聊天室!");
}
else
{
showStatus("Error logging out" + response);
System.err.println("Error logging out" + response);
}
}
catch (MalformedURLException e2)
{
System.err.println("MalformedURLException logging out!");
e2.printStackTrace(System.err);
showStatus("Error logging out!");
}
catch (IOException e1)
{
System.err.println("IOException logging out!");
e1.printStackTrace(System.err);
showStatus("Error logging out!");
}
} //发送用户输入的信息
private void send()
{
String message = userText.getText();
//用户输入空字符串不发送
if (message.equals(""))
{
return;
}
//清除用户在Applet中输入的内容
userText.setText("");
showStatus("发送信息!");
String queryString = "chatservlet?mode=send&user="+URLEncoder.encode(username);
queryString = queryString + "&message="+URLEncoder.encode(message);
try
{
connect = (new URL(chatURL,queryString)).openConnection();
connect.setUseCaches(false);
connect.setDoInput(true);
connect.setDoOutput(false);
connect.connect();
DataInputStream in = new DataInputStream(connect.getInputStream());
String response = in.readLine();
if (response.startsWith("+"))
{
showStatus("信息发送出去了");
}
else
{
showStatus("发送信息错误 " + response);
System.err.println("Error sending message " + response);
}
}
catch (MalformedURLException e2)
{
System.err.println("MalformedURLException logging in!");
e2.printStackTrace(System.err);
showStatus("Error logging in!");
}
catch (IOException e1)
{
System.err.println("IOException logging in!");
e1.printStackTrace(System.err);
showStatus("Error logging in!");
}
} //返回所有用户输入的信息
private void poll()
{
String queryString = "chatservlet?mode=poll&user=" +URLEncoder.encode(username);
try
{
DataInputStream in = new DataInputStream(
new URL(chatURL,queryString).openStream());
String nextLine = in.readLine();
if (!nextLine.startsWith("+"))
{
showStatus("Error getting messages from server!");
System.err.println("Error getting messages from server!");
return;
}
nextLine = in.readLine();
while (nextLine != null && !nextLine.equals("."))
{
System.err.println(nextLine);
messageText.appendText(nextLine + "\r\n");
repaint();
nextLine = in.readLine();
}
}
catch (IOException e)
{
System.err.println("IOException poll!");
e.printStackTrace(System.err);
}
} //返回正在聊天室中的用户
private void pollList()
{
String queryString = "chatservlet?mode=list";
Vector users = new Vector();
try
{
URL listURL = new URL(chatURL,queryString);
URLConnection listConn = listURL.openConnection();
listConn.setDefaultUseCaches(false);
listConn.setUseCaches(false);
listConn.connect();
DataInputStream in = new DataInputStream(
listConn.getInputStream());
String nextLine = in.readLine();
if (!nextLine.startsWith("+"))
{
showStatus("Error getting userlist from server!");
return;
}
nextLine = in.readLine();
while (nextLine != null && !nextLine.equals("."))
{
users.addElement(nextLine);
nextLine = in.readLine();
}
//清除旧的用户表,加入新的
if (!users.isEmpty())
{
userList.clear();
int size = users.size();
for (int I=0;I<size ;I++ )
{
userList.addItem((String)users.elementAt(I));
}
}
else
{
userList.clear();
userList.addItem("None logged in!");
}
repaint();
}
catch (IOException e)
{
System.err.println("IOException poll!");
e.printStackTrace(System.err);
showStatus("Error Checking Message!");
}
} //判断用户是否已经登陆到聊天室
public boolean isLoggedin()
{
return loggedin;
} //设置用户是否登陆的状态
protected void setLoggedin(boolean newval)
{
loggedin = newval;
} void sendButton_actionPerformed(ActionEvent e)
{
sendText();
} void sendText()
{
if (isLoggedin())
{
send();
}
else
{
username = userText.getText();
if (username.length()>10)
{
showStatus("请不要超过10个字符!");
}
else
{
userText.setText("");
login();
}
}
} void userText_actionPerformed(ActionEvent e)
{
sendText();
}
}