java中的GUI:为什么我要实例化一个对象来显示GUI?
正如您可能知道的,这个程序只是在JFrame中显示一个带有“我的名字是Bob”的GUI。我对编程比较陌生,我仍然不明白为什么在runGUI方法中需要“NameGUI greeting=newnamegui();”代码。在我看来,它只是实例化了一个从未使用过的对象。但是,当我取出代码片段时,GUI不会显示。我错过了什么java中的GUI:为什么我要实例化一个对象来显示GUI?,java,swing,user-interface,Java,Swing,User Interface,正如您可能知道的,这个程序只是在JFrame中显示一个带有“我的名字是Bob”的GUI。我对编程比较陌生,我仍然不明白为什么在runGUI方法中需要“NameGUI greeting=newnamegui();”代码。在我看来,它只是实例化了一个从未使用过的对象。但是,当我取出代码片段时,GUI不会显示。我错过了什么 public NameGUI() { JFrame frame = new JFrame("Name"); frame.setDefau
public NameGUI() {
JFrame frame = new JFrame("Name");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel nameSpace = new JPanel();
JLabel name = new JLabel("My name is Bob");
nameSpace.add(name);
frame.setContentPane(nameSpace);
frame.pack();
frame.setVisible(true);
}
public static void runGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
NameGUI greeting = new NameGUI();
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
runGUI();
}
});
}
}
在我看来,它只是实例化了一个从未使用过的对象
你说得有点对。这行内容NameGUI问候语=newnamegui()代码>的作用是创建一个从未使用过的变量,即变量问候语
。清洁剂可能需要:
public static void runGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
new NameGUI();
}
就这样。但是要知道,在这两种情况下,都会创建一个NameGUI对象,并使用它,它的构造函数创建JFrame并显示它。我看不到“}”的开头圆括号`<代码>为什么我要实例化一个对象来显示GUI?
-不确定为什么要这样做。没有必要这样构造代码。您可以将所有代码移到runGui()方法中。