2013-02-10 54 views
2

嗨,大家好,我有一个关于Applets的问题。我有一个游戏小程序,我想嵌入到网页中。不过,我想添加一个“开始屏幕”的小程序,它首先出现,并有几个参数按钮和一个开始按钮。当按下开始按钮时,应该加载“游戏屏幕”。什么是实施这个最好的方法?下面是一个简单的单屏Applet的例子。为Java Applet创建一个介绍屏幕

public class AppletExample extends Applet implements ActionListener{ 

Button okButton; 
Button cancelButton; 
TextField _textField; 

public void init(){ 

    okButton = new Button("Press"); 
    cancelButton = new Button("Cancel"); 
    _textField = new TextField("Ready", 10); 

    okButton.addActionListener(this); 
    cancelButton.addActionListener(this); 

    add(okButton); 
    add(_textField); 
    add(cancelButton); 
    } 

public void actionPerformed(ActionEvent arg0) { 

if(arg0.getSource() == okButton){ 
    _textField.setText("Running..."); 
} 
else { _textField.setText("Cancelled"); 
} 
} 

} 
+0

小程序可以被配置为[显示自定义加载屏幕](http://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/customizeLoadingScreen.html)。屏幕不会有输入字段,但是当小程序开始加载时,它是一种很好的方法。 – flup 2013-02-10 23:49:09

回答

3

您可以使用CardLayout来管理面板之间的导航。

看一看还使用轻量级的Swing JApplet而不是旧的AWTapplet。开始面板可以是包含必要组件的JPanel。酌情使用next,previousshow在游戏面板之间导航。

public void init() { 
    setLayout(new CardLayout()); 

    JPanel startPanel = new JPanel(); 
    okButton = new JButton("Press"); 
    startPanel.add(okButton); 
    ... 
    add(startPanel, "Card 1"); 
    ... 
} 
+0

感谢您的意见,但在Swing中您将如何创建“开始屏幕”? (现在不用担心LayoutManager) – phcoding 2013-02-10 15:25:34

+1

@phcoding:你错过了'CardLayout'的观点。与其他'LayoutManager'不同,这个实际上只是在可见的'JPanel'之间切换的一种方式。想想一个选项卡式窗格,但您完全可以控制用户如何以及何时可以切换面板。一个面板是你的开始屏幕,另一个面板是实际的游戏。 – unholysampler 2013-02-10 16:00:47

+0

感谢您的帮助,从这里的答案我正在解决问题的方式。 – phcoding 2013-02-10 16:23:11