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メソッドが自動的に挿入されます。
目次 索引 |