【发布时间】:2014-10-11 22:21:33
【问题描述】:
这是我构建的简单应用程序,只是为了显示我的问题(原始应用程序很大,但问题是一样的)。
问题是我无法显示 JApplet(也无法显示其中的任何内容)。在 Netbeans、Java SE 工作。你能告诉我我错过了什么吗?
package testjava;
import java.awt.BorderLayout;
import java.awt.Component;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JPanel;
/**
*
* @author Epsilon
*/
public class TestJava extends JApplet implements Runnable {
protected Thread ivThread;
protected JPanel p1, p2;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
JApplet applet = new TestJava();
applet.init();
applet.start();
}
@Override
public void init() {
super.init();
setSize(880, 710+28);
setLayout(new BorderLayout());
setVisible(true);
p1 = new JPanel();
add(p1, BorderLayout.CENTER);
p2 = new JPanel();
add(p2, BorderLayout.SOUTH);
p1.requestFocus();
}
@Override
public void start()
{
if(ivThread == null)
{
ivThread = new Thread(this, "TestJava");
ivThread.start();
}
}
@Override
public void run() {
System.out.println("Hello from Thread!");
Component b1 = new JButton("Click Me");
p1.add(b1);
}
}
【问题讨论】:
-
为什么要编写小程序?如果是老师指定的,请参考Why CS teachers should stop teaching Java applets。
-
1) 这个混合体的
main没有在屏幕上放任何东西顺便说一句。 2)setSize(880, 710+28);applet 的大小应该在 HTML 或 JNLP 中设置,不应设置自己的大小。 -
@AndrewThompson 感谢您的 cmets。我需要在 HTML 中显示它,但在开发阶段我也需要在 Netbeans 调试窗口中显示它。
-
“我应该创建任何东西(例如 JFrame)来显示任何东西吗?” 是的,但是选项窗格更容易。我应该指出一点。请注意您提到 Netbeans,这(使用
main制作混合)不是 IDE 通常运行小程序的方式。如果我们建立一个基于小程序的项目,IDE 通常会在没有安全管理器的小程序查看器中启动小程序。 ..我不会尝试为 IDE 提供支持。
标签: java swing applet jpanel japplet