0
我正在研究一個簡單的應用程序,並且需要訪問JFrame
,這些應用程序在從不同的地方初始化程序時創建,並不總是可以直接訪問它(例如,contentPane爲空,所以SwingUtilities.getWindowAncestor(Component)
贏得'工作)。有沒有其他方法可以做到這一點?例如,這是一個可重新初始化的類:如何在Swing中獲取JFrame
public final class Application{
public static void start(){
//Empty screen with menu
SwingUtilities.invokeAndWait(() -> {
JFrame frame = new JFrame("Main frame");
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("Start");
menuBar.add(menu);
frame.setJMenuBar(menuBar);
});
}
}
而且我需要從其他地方使用它,例如,
JPanel panel = new JPanel();
//initialize the panel
//push it to the content pane of Main frame
所以,爲了共享主框架我傾向於包裝在一個單獨的類,然後提供一個靜態方法。也許還有另一種方式呢?