我今天写了这样的代码:
import javax.swing.BorderFactory;
import javax.swing.JApplet;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import net.miginfocom.swing.MigLayout;
@SuppressWarnings("serial")
public class mainClass extends JApplet {
public void init() {
//Execute a job on the event-dispatching thread; creating this applet's GUI.
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
JPanel czat = new JPanel();
setLayout(new MigLayout());
JPanel panel3 = new JPanel();
panel3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Gry"));
add(panel3, "height 200:75%:10000, width 200:75%:10000");
JPanel panel1 = new JPanel();
panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Gracze"));
add(panel1, "height 200:75%:10000, width 50:25%:10000, wrap");
JPanel panel2 = new JPanel();
panel2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Czat"));
add(czat, "height 50:25%:10000, width 100%, span");
setVisible(true); // important
} catch (Exception e) {
e.printStackTrace();
}
}
});
} catch (Exception e) {
System.err.println("createGUI didn't complete successfully");
}
}
}
任何人都可以告诉,为什么它在Applet查看器中工作,而不是在浏览器中?在我使用MigLayout之前工作。我使用的html代码是:
<html>
<applet alt = "Aplikacja klienta" code = 'mainClass' archive = 'applet.jar', width=500, height=500 />
</html>
我在各个地方寻找,但我无法找到解决方案。
提前致谢, 马尔钦
答案 0 :(得分:2)
请尝试使用此版本的HTML,确保将'n.n'与正在使用的MigLayout版本号交换。
<html>
<body>
<applet
alt="Aplikacja klienta"
code='mainClass'
archive='applet.jar, miglayout-n.n-swing.jar, miglayout-n.n.jar'
width=500
height=500 >
</applet>
</body>
</html>
不要害怕使用validation service检查HTML。那个HTML在很多方面都是无效的,我不记得了!
作为另一个提示,请确保将Java控制台配置为在加载applet时打开。这对applet开发至关重要。在Java控制面板的最后一个选项卡下配置它。