尊重所有人, 我正在ECLIPSE中创建一个Swing应用程序窗口。当我运行程序时,JAVA-Application'该计划运作良好。但是当我尝试将程序作为" Java_applet"像'命令按钮','文本框'等组件是看不见的。
我是Java新手。我以前曾在C#上工作过。请帮助我。
import java.awt.EventQueue;
import java.applet.*;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import java.awt.BorderLayout;
public class sa extends Applet{
private JFrame frame;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
sa window = new sa();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public sa() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JRadioButton rdbtnNewRadioButton = new JRadioButton("New radio button");
frame.getContentPane().add(rdbtnNewRadioButton, BorderLayout.CENTER);
}
}
答案 0 :(得分:2)
你不能让你的类扩展Applet,并期望它就像一个正确的Applet一样。您需要为类提供正确的init方法,并在此方法中构建GUI。但最重要的是,您需要阅读Applet教程,任何体面的教程都应该这样做。我自己,我的GUI扩展了JPanel,在构造函数中构建了GUI,然后我可以根据需要在JApplet或JFrame中使用这个JPanel。
正如安德鲁在评论中恰当地指出的那样,
我认为OP还应该转储整个'applet'部分并开发
JFrame
,并想要使用Java Web Start从链接启动它。至少那时它将有更好的机会为Chrome和FireFox的用户工作(他们都计划删除所有支持的applet)。