| Apdesigner プログラマーズガイド |
目次
索引
![]()
|
| 第3部 Apdesigner利用編 | > 第10章 Javaフォームとアプレットを定義する | > 10.17 Javaフォームに装飾する |
フォームおよびクラス継承フォームをフォーム装飾機能で装飾した場合、フォームのpaintメソッドから以下のフォーム装飾描画メソッドを呼び出す必要があります。
フォームの場合に呼び出すフォーム装飾描画メソッド
private void paintForm(java.awt.Graphics g);
クラス継承フォームの場合に呼び出すフォーム装飾描画メソッド
private void paintForm$(java.awt.Graphics g);
以下に呼び出し例を記述します。
/**
* フォームの画面を更新します。
* @param g グラフィックス
*/
public void update(java.awt.Graphics g) {
paint(g);
}
/**
* フォームを描画します。
* @param g グラフィックス
*/
public void paint(java.awt.Graphics g) {
java.awt.Rectangle clip = g.getClipBounds();
if( clip == null ) {
clip = getBounds();
clip.x = 0;
clip.y = 0;
}
// 背景を描画します。
java.awt.Color color = g.getColor();
g.setColor(getBackground());
g.fillRect(clip.x,clip.y,clip.width,clip.height);
g.setColor(color);
// フォーム装飾を描画します。
paintForm(g);
// 子供を描画します。
java.awt.Component child;
java.awt.Component children[] = getComponents();
java.awt.Graphics g2;
java.awt.Rectangle rect;
for(int i = children.length-1 ; i >= 0 ; i-- ) {
child = children[i];
rect = child.getBounds();
if( rect.intersects(clip) &&
child.isLightweight() &&
child.isVisible() ) {
g2 = g.create(rect.x,rect.y,rect.width,rect.height);
g2.setFont(child.getFont());
try {
child.paint(g2);
}
finally {
g2.dispose();
}
}
}
}

フォームが装飾されていてフォームにpaintメソッドが定義されていない場合、フォーム保存時にpaintメソッドが自動的に挿入されます。
目次
索引
![]()
|