1
我創建了一個測試版本,以簡化我在爲你們的問題:當啓動該程序油漆(圖形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
}
}
,你能看到一個完美的空白窗口。但是,如果您刪除繪畫方法,JLabel將顯示! (真的,我不得不搜索這個bug了)。現在,我該如何啓用一個窗口來同時使用圖形和定期繪製組件? 在此先感謝
你不應該覆蓋的頂層窗口的'漆(...)'方法,因爲它很少是必要的,往往是有害的。請參閱戴夫的更多答案。 –