【问题标题】:How the paint method run without in main method?没有 main 方法,paint 方法如何运行?
【发布时间】:2014-04-15 19:45:25
【问题描述】:

在这里,我们有两个班级。其中之一是应用程序类。

输出是一个jframe,里面有一个矩形。但我不明白,我们不在 main 方法中编写paint方法。怎么跑?

【问题讨论】:

  • paint方法会在JFrame初始化时自动调用。
  • Paint 方法在 Window 类中?不管怎样,我调试了这个应用程序,但我没有看到任何有关绘制方法的内容。我检查了超级构造函数,但没有一个调用paint方法。

标签: java swing jframe paint


【解决方案1】:

paint 方法会自动调用以刷新您的窗口。例如,调整窗口大小时会自动调用 paint 方法。

也可以通过调用JFrame的repaint()方法来强制调用paint方法。

另外,如果您正在寻找 paint 方法的声明,它位于 java.awt.Component 中。不要犹豫,看看javadoc

【讨论】:

  • 我知道,但我不知道它是如何工作的。我的意思是如果框架刷新了哪个类或方法调用paint方法?
  • 调整大小时,您的窗口管理器会通知他的听众。在这种情况下,来自 java.awt.Component 的方法被调用(resize, reshape, setBound, ...),然后 Component 最终将调用paint()。我不能告诉你还有哪些其他类叫做paint,但它显然是其中之一。
  • 不客气,不要忘记将问题标记为已解决(如果已解决)并查看 javadoc 以及 awt 和 swing 的源代码
猜你喜欢
  • 1970-01-01
  • 2012-08-25
  • 1970-01-01
  • 2017-03-27
  • 1970-01-01
  • 2015-05-01
  • 2011-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多