[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] Re: BorderItemPainterのthis.painter == null(Re: JDK1.2.2でHGridのセルが見えない)
えんどうです。
>BorderItemPainter の this.paint == null なのは、
>bevelInner == FLAT && bevelOuter == FLAT
>つまり、縁はFLATなので、縁を描画する必要がないからです。
>多分問題ありません。
はい。私の勘違いでした。^^;
>HGrid.openDataSet()は、呼ばれてます?
これは呼ばれてます。HNavigator ではナビゲート可能で、
HGrid には見えませんがセルがあります。クリックすると編集可能です。
HDataSetは正常に構築 (SELECT) 出来ています。
その後わかったこととしては、
higa.jhcl.view.GridCore の paint() の中で getClipBounds() が呼ばれていて、
higa.jhcl.view.HComponent の getClipBounds() の中で、
> protected Rectangle getClipBounds() {
> Graphics g = getGraphics();
> System.out.println("HComponent(136): getClipBounds(), g=" + g);
> if (g == null) {
> return null;
> }
>
> Dimension vp = getSize();
> Rectangle c = g.getClipBounds();
> System.out.println("HComponent(143): getClipBounds(), c=" + c);
> if (null == c) {
> return null;
> }
>
> Rectangle clip;
> if (c.width > vp.width || c.height > vp.height) {
> clip = c.intersection(
> new Rectangle(0, 0, vp.width, vp.height));
> } else {
> clip = c;
> }
>
> System.out.println("HComponent(156): getClipBounds(), clip=" + clip);
> if (!clip.isEmpty()) {
> return clip;
> } else {
> return null;
> }
> }
Graphics#getClipBounds() を呼んでいる個所があるのですが、
(1) jdk1.1.8\bin\java コマンドのときは Graphics#getClipBounds() が正常
HComponent(136): getClipBounds(), g=sun.awt.windows.WGraphics[2,81]
HComponent(143): getClipBounds(), c=java.awt.Rectangle[x=0,y=0,width=33,height=1
61]
HComponent(156): getClipBounds(), clip=java.awt.Rectangle[x=0,y=0,width=33,heigh
t=161]
(2) jdk1.2.2\bin\java コマンドのときは Graphics#getClipBounds() が null
HComponent(136): getClipBounds(), g=sun.awt.windows.WGraphics
HComponent(143): getClipBounds(), c=null
であるところまでは追えました。(ハアハア)
--
ENDO Yasuyuki <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/ (Japanese Only)