我有以下应用程序。它有效,我只是想更好地理解它。
所以从主课我打了以下电话
public static void main(String[] args)
{
Gui gui = new Gui();
gui.startGui();
}
在 GUI 类中
public Gui()
{
initialize();
}
private void initialize()
{
mainWinFrm = new JFrame();
mainWinFrm.setTitle("Inventory Tool");
JMenuBar menuBar = new JMenuBar();
mainWinFrm.getContentPane().add(menuBar, BorderLayout.NORTH);
.....//allot more GUI staff getting initialize
}
public void startGui()
{
try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}
catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {}
EventQueue.invokeLater(new Runnable()
{
public void run()
{
try
{
Gui window = new Gui();
window.mainWinFrm.setLocationRelativeTo(null);
window.mainWinFrm.setMinimumSize(new Dimension(400, 200));
window.mainWinFrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.mainWinFrm.pack();
window.mainWinFrm.setVisible(true);
}
catch (Exception e)
{e.printStackTrace();}
}
});
}
上述代码的结构是由 GUI 构建器构建的,我想我想了解发生了什么。
我不明白的要点是,当我们在主类中构造对象gui时,它会初始化所有变量,然后启动线程gui.startGui()该方法还会创建一个新的 GUI 对象窗口并初始化所有变量。
这对我来说似乎不对......但是我不确定我是否遗漏了什么。
感谢您的建议/帮助亚历克西斯