在IE中使用SWING的问题
bgold 2000-06-20 08:19:00 文件InternalFrameTest.java的内容如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class InternalFrameTest extends JApplet {
JDesktopPane dtp = new JDesktopPane();
public void init() {
JPanel controlPanel = new ControlPanel(dtp);
Container contentPane = getContentPane();
JPanel centerPanel = new JPanel();
contentPane.setLayout(new BorderLayout());
contentPane.add(controlPanel, BorderLayout.NORTH);
contentPane.add(dtp, BorderLayout.CENTER);
}
}
class ControlPanel extends JPanel {
private static int cnt=0;
public ControlPanel(final JDesktopPane dtp) {
JButton b = new JButton("make frame");
add(b);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
JInternalFrame jif = new JInternalFrame();
Container contentPane = jif.getContentPane();
jif.setLocation(10,50);
jif.setTitle("Internal Frame" + cnt++);
jif.setResizable(true);
jif.setMaximizable(true);
jif.setClosable(true);
jif.setVisible(true);
jif.setIconifiable(true);
contentPane.setLayout(new FlowLayout());
contentPane.add(new ColoredCanvas(), "Center");
jif.pack();
dtp.add(jif, 2); // add at layer 2
}
});
}
}
class ColoredCanvas extends Canvas {
public void paint(Graphics g) {
Dimension sz = getSize();
g.setColor(Color.blue);
g.fillRect(0,0,sz.width,sz.height);
}
public Dimension getPreferredSize() {
return new Dimension(200,200);
}
}
test.html的内容为:
<html>
<title>InternalFrameTest</title>
<body>
<OBJECT classid=clsid:8AD9C840-044E-11D1-B3E9-00805F499D93 height=600 width=800
codeBase=http://java.sun.com/products/plugin/1.1.1/jinstall-111-win32.cab#Version=1,1,1,0>
<XMP><APPLET CODE = InternalFrameTest.class WIDTH = 800 HEIGHT = 600 ></XMP>
<PARAM NAME = CODE VALUE = InternalFrameTest.class>
<PARAM NAME = "type" VALUE = "application/x-java-applet;version=1.2">
</APPLET>
</OBJECT>
</body>
</html>
程序编译后用IE5进行本地浏览时运行正常,但放到web server后每次浏览时IE都会出现非法错误。
请java高手指点.