[英]What is the difference and efficiency between main() and run()?
因此,我对JSwing陌生,在我去年完成的AP计算机科学课程中没有涉及太多内容。 因此,我对继承和Java语言的所有核心部分都很熟悉,但是我看不到main()和run()这两种方法之间的区别。
我的代码现在可以正常使用:
主类:
import java.awt.BorderLayout; import java.awt.Component; import javax.swing.JButton; import javax.swing.JFrame; public class Main { private JFrame frame; public Main() { frame = new JFrame("SoundCombine"); //Create frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Close the frame when |x| button is pressed //Add components to the frame JButton button = new JButton(); frame.getContentPane().add(button, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } }
跑步班:
public class Run { public static void main(String args[]){ new Main(); } }
但是,我也看到了这种启动JSwing应用程序的方法:
SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } });
两者之间的最大区别是什么? 使用这两种方法中的任一种都会在路上遇到什么样的问题。 尽管编写同一程序有很多不同的方法,但是我想知道执行此操作的常规方法。
谢谢!
您在问橙子和水牛城有什么区别-这是两个完全不同的东西。
run
方法是一种方法,它必须是实现Runnable接口的任何类的一部分。 这不是程序启动的入口。 SwingUtilities.invokeLater(...)
方法中,是一种确保在Swing事件线程上调用Runnable的run方法中的代码的方法,这是您在启动时要执行的操作出于线程安全目的而使用Swing( 而不是 JSwing)应用程序,因为如果您不这样做,则可能会引发错误(实际上是异常)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.