2010-08-14 50 views
2

我正在创建一个Java小程序,并且我正在尝试向它添加一个JFrame。我打电话:JApplet没有显示在JApplet中,直到applet被调整大小

add(new MyJFrameSubclass()); 

但是,当我启动应用程序,不显示我的JFrame,直到我调整窗口的大小。

+0

您是否正在Creting Applet嵌入网页?还是你想创建一个独立的应用程序? – jjnguy 2010-08-14 22:33:33

+0

我正在尝试创建一个作为两者的应用程序 - 因此您可以在本地运行该jar,或将其用作applet。 – 2010-08-14 22:34:32

回答

1

JFrameJApplet都是top-level containers。不要试图将这两个容器同时存在,而应将您的内容放在一个轻量级容器中,例如JPanel;然后将JPanel添加到JFrame(用于本地使用)或JApplet(用于浏览器)。这example显示的方法。

+0

我也尝试过JPanel,但我会看看您的示例,谢谢。 – 2010-08-15 04:05:52

+0

另请参见[*什么是Java Hybrid-Applet +应用程序?*](http://stackoverflow.com/q/12449889/230513)。 – trashgod 2016-01-05 10:39:31

2

这可能对某个建议来说太简单了,但坚持在validate()repaint()有时可以解决看起来很复杂的问题。

2

一个简单的修复就是在添加JFrame后添加一个frame.show();,我有同样的问题,这似乎有所帮助,该框架是您的JFrame的名称。