谁调用了run()方法?

问题描述 投票:0回答:0

我是初学程序员 希望大家耐心等待 谢谢大家 为什么我们调试的时候有的程序第一个Method是main()函数,而有的程序第一个Method是run()方法 喜欢:

Thread [AWT-EventQueue-0] (Suspended (Breakpoint at line 15 in TestPaint))

TestPaint.paintComponent(Graphics) line: 15 

TestPaint(JComponent).paint(Graphics) line: 1054    

JPanel(JComponent).paintChildren(Graphics) line: 887    

JPanel(JComponent).paint(Graphics) line: 1063   

JLayeredPane(JComponent).paintChildren(Graphics) line: 887  

JLayeredPane(JComponent).paint(Graphics) line: 1063 

JLayeredPane.paint(Graphics) line: 585  

JRootPane(JComponent).paintChildren(Graphics) line: 887 

JRootPane(JComponent).paintToOffscreen(Graphics, int, int, int, int, int, int) line: 5228   

RepaintManager$PaintManager.paintDoubleBuffered(JComponent, Image, Graphics, int, int, int, int) line: 1482 

RepaintManager$PaintManager.paint(JComponent, JComponent, Graphics, int, int, int, int) line: 1413  

RepaintManager.paint(JComponent, JComponent, Graphics, int, int, int, int) line: 1206   

JRootPane(JComponent).paint(Graphics) line: 1040    

GraphicsCallback$PaintCallback.run(Component, Graphics) line: 39    

GraphicsCallback$PaintCallback(SunGraphicsCallback).runOneComponent(Component, Rectangle, Graphics, Shape, int) line: 78    

GraphicsCallback$PaintCallback(SunGraphicsCallback).runComponents(Component[], Graphics, int) line: 115 

JFrame(Container).paint(Graphics) line: 1967    

JFrame(Window).paint(Graphics) line: 3867   

RepaintManager.paintDirtyRegions(Map<Component,Rectangle>) line: 781    

RepaintManager.paintDirtyRegions() line: 728    

RepaintManager.prePaintDirtyRegions() line: 677 

RepaintManager.access$700(RepaintManager) line: 59  

RepaintManager$ProcessingRunnable.run() line: 1621  

InvocationEvent.dispatch() line: 251    

EventQueue.dispatchEventImpl(AWTEvent, Object) line: 705    

EventQueue.access$000(EventQueue, AWTEvent, Object) line: 101   

EventQueue$3.run() line: 666    

EventQueue$3.run() line: 664    

AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method]    

ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext, AccessControlContext) line: 76    

EventQueue.dispatchEvent(AWTEvent) line: 675    

EventDispatchThread.pumpOneEventForFilters(int) line: 211   

EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: 128    

EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: 117   

EventDispatchThread.pumpEvents(int, Conditional) line: 113  

EventDispatchThread.pumpEvents(Conditional) line: 105   

EventDispatchThread.run() line: 90

这就是代码(顺便说一句,它来自 Guillaume Polet 谢谢朋友)

导入 java.awt.Color;

导入java.awt.Graphics;

导入javax.swing.JFrame;

导入 javax.swing.JPanel;

类 TestPaint 扩展 JPanel {

public TestPaint() {

    setBackground(Color.WHITE);

}

@Override

public void paintComponent(Graphics g) {

    super.paintComponent(g);

    g.drawOval(0, 0, getWidth(), getHeight());

}

public static void main(String[] args) {

    JFrame jFrame = new JFrame();

    jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    jFrame.setSize(300, 300);

    jFrame.add(new TestPaint());

    jFrame.setVisible(true);

}

}

EventDispatchThread.run() 行:90 为什么它不在主函数中却被调用了

java swing user-interface awt
© www.soinside.com 2019 - 2024. All rights reserved.