java开发Applet的问题?
在Jbuilder2005中能正常的显示图形界面,但是加到IE中运行时就显示一块灰色的画布,请问这是怎么回事呢?
HTML代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>
HTML Test Page
</title>
</head>
<body>
mandiq.MandiQ will appear below in a Java enabled browser.<br>
<applet
codebase = "."
code = "MandiQ.class"
name = "TestApplet"
width = "410"
height = "300"
hspace = "0"
vspace = "0"
align = "middle"
archive ="smack.jar,smackx.jar,smackx-debug.jar"
>
</applet>
</body>
</html>
以下是Applet代码,如果使用org.jivesoftware.*,org.jivesoftware.smack.XMPPConnection;就不会有问题,加上后就出问题.
package mandiq;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.JButton;
import javax.swing.JTextPane;
import javax.swing.*;
import org.jivesoftware.*;
import org.jivesoftware.smack.XMPPConnection;
public class MandiQ extends Applet {
XMPPConnection con=null;//网络连接
Chat newChat=null;//
JPanel contentPane;
final int port=5522;
String LoginUser="mandiq";
boolean isStandalone = false;
BorderLayout borderLayout1 = new BorderLayout();
JTextArea jTextArea1 = new JTextArea();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JToggleButton send = new JToggleButton();
JButton jButton1 = new JButton();
JButton chat = new JButton();
JButton jButton3 = new JButton();
JTextArea ChatLog = new JTextArea();
JTextArea jTextArea3 = new JTextArea();
private Component jj;
JButton jButton2 = new JButton();
//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 MandiQ() {
try {
con=new XMPPConnection("host.com",port);//连接服务器
con.login(LoginUser, "admin");//登录
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
//Initialize the applet
public void init() {
try {
Init();
} catch (Exception e) {
e.printStackTrace();
}
}
private void Init() throws Exception {
}
public String getAppletInfo() {
return "Applet Information";
}
public String[][] getParameterInfo() {
return null;
}
private void jbInit() throws Exception {
this.setLayout(null);
this.setBackground(Color.white);
this.setForeground(Color.green);
jTextArea1.setText("jTextArea1");
jTextArea1.setBounds(new Rectangle(7, 5, 391, 163));
jPanel1.setAlignmentX((float) 0.0);
jPanel1.setAlignmentY((float) 0.0);
jPanel1.setBorder(BorderFactory.createLineBorder(Color.black));
jPanel1.setBounds(new Rectangle(1, 3, 400, 295));
jPanel1.setLayout(null);
jPanel2.setBackground(UIManager.getColor("Button.background"));
jPanel2.setBorder(BorderFactory.createLineBorder(Color.black));
jPanel2.setBounds(new Rectangle(2, 165, 395, 29));
jPanel2.setLayout(null);
send.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
send.setForeground(Color.black);
send.setText("发送");
send.setBounds(new Rectangle(334, 267, 64, 25));
send.addActionListener(new MandiQ_send_actionAdapter(this));
jButton1.setBounds(new Rectangle(262, 267, 71, 25));
jButton1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
jButton1.setText("关闭");
chat.setBounds(new Rectangle(6, 266, 92, 25));
chat.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
chat.setText("聊天记录");
chat.addActionListener(new MandiQ_chat_actionAdapter(this));
jButton3.setBounds(new Rectangle(98, 266, 88, 25));
jButton3.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
jButton3.setText("消息模式");
ChatLog.setToolTipText("");
ChatLog.setBounds(new Rectangle(3, 3, 391, 158));
jTextArea3.setBounds(new Rectangle(3, 197, 392, 61));
jButton2.setBounds(new Rectangle(192, 267, 65, 24));
jButton2.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
jButton2.setText("登录");
this.add(jPanel1);
jPanel1.add(ChatLog);
jPanel1.add(jTextArea3);
jPanel1.add(jPanel2);
jPanel1.add(jButton1);
jPanel1.add(send);
jPanel1.add(jButton3);
jPanel1.add(chat);
jPanel1.add(jButton2);
}
}
class MandiQ_chat_actionAdapter implements ActionListener {
private MandiQ adaptee;
MandiQ_chat_actionAdapter(MandiQ adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.chat_actionPerformed(e);
}
}
class MandiQ_send_actionAdapter implements ActionListener {
private MandiQ adaptee;
MandiQ_send_actionAdapter(MandiQ adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.send_actionPerformed(e);
}
}