小编use*_*888的帖子

paint(Graphics g)可以防止绘制组件

我创建了一个测试版本来简化我为你们提出的问题:

import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Test extends JFrame {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    JLabel l = new JLabel("hello");
    JPanel cp;

    public Test(){
        setContentPane(cp = new JPanel());
        cp.add(l);
        setSize(200, 200);
        setVisible(true);
    }

    public void paint(Graphics g){
        //do absolutely nothing
    }
}
Run Code Online (Sandbox Code Playgroud)

当你启动程序时,你会看到一个完美的空白窗口.但是,如果删除paint方法,JLabel会显示出来!(我不得不长时间搜索这个bug,真的).现在,我如何启用一个窗口来使用图形和定期绘制组件?提前致谢

java swing paint jframe paintcomponent

1
推荐指数
1
解决办法
166
查看次数

标签 统计

java ×1

jframe ×1

paint ×1

paintcomponent ×1

swing ×1