Java 在一个版本中支持Swing小程序和框架
我正在开发一款游戏,我想将其嵌入到web浏览器中,并作为独立的jar下载。我有一个子类Java 在一个版本中支持Swing小程序和框架,java,swing,applet,Java,Swing,Applet,我正在开发一款游戏,我想将其嵌入到web浏览器中,并作为独立的jar下载。我有一个子类JComponent,负责游戏。我还有一个子类JApplet和JFrame,显示游戏实例。如果有办法,我可以在我的主要方法中执行以下操作: if (isEmbedded) { new AppletViewer(); } else { new FrameViewer(); } 或者我需要导出两次,首先使用AppletViewer,然后使用FrameViewer?您可以使用如下结构: import
JComponent
,负责游戏。我还有一个子类JApplet
和JFrame
,显示游戏实例。如果有办法,我可以在我的主要方法中执行以下操作:
if (isEmbedded) {
new AppletViewer();
} else {
new FrameViewer();
}
或者我需要导出两次,首先使用
AppletViewer
,然后使用FrameViewer
?您可以使用如下结构:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class AppletBasic extends JApplet
{
/**
* Create the GUI. For thread safety, this method should
* be invoked from the event-dispatching thread.
*/
private void createGUI()
{
JLabel appletLabel = new JLabel( "I'm a Swing Applet" );
appletLabel.setHorizontalAlignment( JLabel.CENTER );
appletLabel.setFont(new Font("Serif", Font.PLAIN, 36));
add( appletLabel );
setSize(400, 200);
}
@Override
public void init()
{
try
{
SwingUtilities.invokeAndWait(new Runnable()
{
public void run()
{
createGUI();
}
});
}
catch (Exception e)
{
System.err.println("createGUI didn't successfully complete: " + e);
}
}
public static void main(String[] args)
{
JApplet applet = new AppletBasic();
applet.init();
JFrame frame = new JFrame("Applet in Frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setJMenuBar( applet.getJMenuBar() );
frame.setContentPane( applet.getContentPane() );
frame.pack();
frame.setLocationRelativeTo( null );
frame.setVisible( true );
applet.start();
}
}
如果类作为小程序加载,则小程序将按原样执行
如果类加载到JVM中,则会调用main()方法,并将小程序组件添加到JFrame中。考虑完全转储小程序,对于“离线”选项,请使用从链接启动框架。