間が空いてしまった。その間はJavaScriptの勉強などをしていた。
結構面白いが、注意すべき点がいくつかある。何らかのまとめは後日。
今日はJavaではまった話。人のSwingプログラムのコードで表示が変になるものがあり、結構長い時間分からなかった。
public void paintComponent(Graphics g) {
super.paintComponents(g);
となっていたのだ。正しくは
super.paintComponent(g);
でなければならない。
で、これがコンパイル時も実行時もエラーにはならない。
protected void paintComponent(Graphics g) は javax.swing.JComponent のメソッドだが、
public void paintComponents(Graphics g) は java.awt.Container のメソッドになる。
JComponent は Container を継承しているため、paintComponents も使えるわけである。
結構面白いが、注意すべき点がいくつかある。何らかのまとめは後日。
今日はJavaではまった話。人のSwingプログラムのコードで表示が変になるものがあり、結構長い時間分からなかった。
public void paintComponent(Graphics g) {
super.paintComponents(g);
となっていたのだ。正しくは
super.paintComponent(g);
でなければならない。
で、これがコンパイル時も実行時もエラーにはならない。
protected void paintComponent(Graphics g) は javax.swing.JComponent のメソッドだが、
public void paintComponents(Graphics g) は java.awt.Container のメソッドになる。
JComponent は Container を継承しているため、paintComponents も使えるわけである。