Quantcast
Channel: OKWAVE 閲覧数の多い質問(Java/253)【本日】
Viewing all articles
Browse latest Browse all 68675

 super.paint(g)を呼び出す意味が理解できません。

$
0
0
 super.paint(g)を呼び出す意味が理解できません。  お早うございます、JAVAの初心者です、基本的な内容が理解出ずに悩んでいます。  宜しくお願い致します。  以下のプログラムを書いてやりました、「Sample1」は、public void paint(Graphics g)で オーバライドしてやると、そのまま”java”が表示されますが、JFrameTestでは、 public void paint(Graphics g)のなかに「super.paint(g)」を書いてやらないと、 一応windowは表示はされるのですが、パネルが透明になって下の文字とか、 画像が見えてしまいます。(何故か文法エラーにはなりません)  しかし、public void paint(Graphics g)の内に「super.paint(g)」を書いてやると、 普通通り表示されます。  この違いというか原因はなになのでしょうか。  「super.paint(g)」は親クラスのpaintメソッドをを呼び出していると思うのですが、 何故ここで必要なのでしょうか。  「Sample1」との違いが分かりません、何とぞ宜しくお願い致します。 ======================================================= public class Sample1 extends Applet { public void paint(Graphics g) { g.drawString("java",10,10); } } ============================================================ public class JFrameTest extends JFrame { JFrameTest() { setSize(400,300); setTitle("JFrameTest"); } public void paint(Graphics g) { super.paint(g); g.drawString("Today",100,100); } public static void main(String[] args) { JFrame jf = new JFrameTest(); jf.setVisible(true); } }

Viewing all articles
Browse latest Browse all 68675

Trending Articles