我已经制作了一些 JFrame,我想从 JApplet 中调用它们。做这个的最好方式是什么?我可以在我的 init 方法中实例化我的 JFrame,然后在按下按钮时调用它们吗?
问问题
786 次
3 回答
3
如何在打开 JFrame 的 Java Applet 中制作按钮?
您可能不应该这样做,但是如果您想从 JApplet 打开另一个窗口,请创建并显示一个 JDialog。它们的创建和显示类似于 JFrame,但使用不同的构造函数。您需要为 JDialog 的“所有者”参数获取小程序的窗口,这可以通过以下方式获得:
Window w = (Window) SwingUtilities.getAncestorOfClass(Window.class, comp);
其中 comp 是 JApplet 中的可见组件。
于 2012-04-20T21:13:24.017 回答
0
您可以JFrame
使用其默认构造函数创建,然后显示它:
JFrame frame = new JFrame();
JLabel label = new JLabel("Welcome");
frame.add(label);
frame.pack();
frame.setVisible(true);
这段代码从小程序派生出来的方式与独立程序类似。无需任何特殊技巧。小程序本身只能包含诸如“按下以启动应用程序”之类的按钮。
于 2015-01-10T09:44:32.277 回答
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;
}
}
但是单例是丑陋的,很多人选择避免使用它们。
于 2012-04-20T21:02:35.100 回答