我对java有点陌生。我正在阅读 java 代码以了解更多信息,这让我感到困惑。一个方法只有在被调用时才会被执行,对吧?但是那些内置类的方法,如paint()
Runnable类中的, paintComponent()
,等等。这些方法是否在没有显式调用它们的情况下执行,一旦实现这些方法的类用于实例化对象?真的是这样吗?run()
就像在这段代码中一样,方法paint()
并没有真正被调用。
import javax.swing.*;
import java.awt.*;
public class FrameExampleTest{
public static void main(String args[]){
FrameExample frame = new FrameExample();
frame.setSize(500,500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class FrameExample extends JFrame{
PanelExample panel;
public FrameExample(){
Container c = getContentPane();
panel = new PanelExample();
c.add(panel,BorderLayout.CENTER);
}
}
class PanelExample extends JPanel{
public PanelExample(){
setSize(300,200);
}
public void paint(Graphics g){
g.fillArc(20,20,30,30,0,360);
}
}