今天写东西的时候遇到了,以前也这样写过,一直是通过的,但是今天突然今天不调用paintComponent(),debug单步确实不进入paintComponent(),这是咋回事
简化了代码如下:
public class TestR extends JPanel {
public void drawMe() {
System.out.println("TestR's drawMe");
this.repaint();
}
@Override
protected void paintComponent(Graphics g) {
// TODO Auto-generated method stub
System.out.println("重新显示成功");
}
}
------解决方案--------------------
楼主还是需要贴出来代码,你这抽象出来的代码实际上是可以调用的,给你看看
下面的代码是完全有你预想的效果的
- Java code
import javax.swing.*;import java.awt.*;public class TestR extends JPanel { public void drawMe() { System.out.println("TestR's drawMe"); this.repaint(); } @Override protected void paintComponent(Graphics g) { // TODO Auto-generated method stub System.out.println("重新显示成功"); } public static void main(String[] args){ JFrame frame=new JFrame("demo"); TestR panel=new TestR(); frame.getContentPane().add(panel);// panel.drawMe(); frame.pack(); frame.setVisible(true); }}