这是我的课程..
package sample;
public class Sample {
public static void main(String[] args) {
// TODO code application logic here
newda l = new newda();
l.setVisible(true);
}
}
然后是下一个Class newda
package sample;
import javax.swing.*;
import java.awt.*;
public class newda extends JApplet {
JButton ab ;
public void init()
{
Container ac = getContentPane();
ac.setLayout(new FlowLayout());
ab= new JButton("Show");
ac.add(ab);
}
}
当我运行newda类时,会显示一个带有show按钮的窗口(我无法添加输出的图像)。当我运行项目时,Sample的主类应该将newda窗口设置为true并产生相同的结果,但什么都没有显示出来。项目执行在1秒内完成。
然而,当我使用JFrame时,这是有效的。我想知道为什么它在不使用JFrame时不起作用。
答案 0 :(得分:1)
花点时间了解applet和windows之间的区别
applet是一个嵌入浏览器窗口的容器,它没有自己窗口的概念。
将public class newda extends JApplet {
更改为更像public class NewDa extends JFrame {
您可能还想查看Initial Threads,并确保在Event Dispatching Thread的上下文中创建UI
您可能希望阅读Code Conventions for the Java TM Programming Language,这样可以让人们更轻松地阅读您的代码并让您阅读其他代码
答案 1 :(得分:1)
public class newda extends JApplet {
这是一个applet。 applet不是一个与框架相同的“窗口”,但需要嵌入一个网页。
您认为applet是一个窗口的原因可能是,您的IDE会在JFrame
内显示applet。例如。 applet viewer是一个托管applet的JFrame
。