2012-04-20 57 views
1

我做了几个JFrames,我想从JApplet中调用它们。做这个的最好方式是什么?我能否在我的init方法中实例化我的JFrame,然后在按下按钮时调用它们?如何在打开JFrame的Java Applet中创建按钮?

+0

除了***开放框架之外,小程序还能做什么? – 2012-04-22 03:00:34

回答

0

好吧,这听起来像你在初始化初始化JFrame,并将其存储。您不需要从初始化中重新实例化JFrame。相反,只需将其存储在Applet的一个字段中,并在按下该按钮时使用它。

或者您可以使用单身和懒惰初始化:

class JFrameToOpen extends JFrame { 
    private static JFrame frame = null; 
    private JFrameToOpen() { 
     //init 
    } 
    public static GetJFrame() { 
     if(frame==null) { 
      frame=new JFrameToOpen(); 
     } 
     return frame; 
    } 
} 

但单身是丑陋的,很多人选择避开他们。

3

如何在打开JFrame的Java Applet中创建按钮?

您可能不应该这样做,而是如果您想从JApplet打开另一个窗口,请创建并显示一个JDialog。它们的创建和显示类似于JFrame,但使用不同的构造函数。您将需要获得applet的窗口对JDialog的“所有者”参数,这可以通过获得:

Window w = (Window) SwingUtilities.getAncestorOfClass(Window.class, comp); 

其中comp为在JApplet的一个有形成分。

+3

另请考虑[tag:java-web-start]。 – trashgod 2012-04-21 03:05:38

0

您只需创建JFrame其默认构造函数,然后显示它:从applet的类似的方法,从独立的程序

JFrame frame = new JFrame(); 
JLabel label = new JLabel("Welcome"); 
frame.add(label); 
frame.pack(); 
frame.setVisible(true); 

此代码叉。不需要任何特殊的技巧。该applet本身只能包含像“按下以启动应用程序”之类的按钮。