[vtk-developers] Java question

Blezek, Daniel J (Research) blezek at crd.ge.com
Fri Aug 2 13:02:34 EDT 2002


Hi all,

  To Java-VTK developers out there.  I ported the ImagePlaneWidget.tcl code to Java (included), just
to poke around.  These are the things I found:

- if you do not make a vtkPanel object first, the dynamic vtk*Java.so libraries are not loaded
- Hybrid was not included in the list of loaded native libraries, likely because it's optional (could
be caught in the code)
- When I add the interactor, I get two windows.  One is the Swing/vtkPanel window, and the other
looks like a VTK OpenGL window.  This is really funny, and not expected.  Without the interactor, I
get one window (but the image plane widget doesn't work).

Does anyone have some ideas what's going on?  I modified the ImagePlaneWidget.tcl example to use a
vtkTKRenderWidget (the TCL version of vtkPanel), and it does the right thing (also included).

Thanks,
-dan <<ImagePlaneWidget.tcl>>  <<ImagePlaneWidget.java>> 

--
Daniel Blezek, Ph.D.
blezek at crd.ge.com
Visualization and Computer Vision Lab, Imaging Technologies
GE Global Research Center


begin 600 ImagePlaneWidget.tcl
M<&%C:V%G92!R97%U:7)E('9T:PIP86-K86=E(')E<75I<F4@=G1K:6YT97)A
M8W1I;VX*<&%C:V%G92!R97%U:7)E('9T:W1E<W1I;F<*"B, at 5&AI<R!E>&%M
M<&QE(&1E;6]N<W1R871E<R!H;W<@=&\@=7-E('1H92!V=&M);6%G95!L86YE
M5VED9V5T('1O('!R;V)E"B, at 82`S1"!I;6%G92!D871A<V5T('=I=&@@=&AR
M964@;W)T:&]G;VYA;"!P;&%N97,N"@HC(%-T87)T(&)Y(&QO861I;F<@<V]M
M92!D871A+ at HC"G9T:U9O;'5M93$V4F5A9&5R('8Q- at H@('8Q-B!3971$871A
M1&EM96YS:6]N<R`V-"`V-"`@"B`@=C$V(%-E=$1A=&%">71E3W)D97)4;TQI
M='1L945N9&EA;B`@"B`@=C$V(%-E=$9I;&50<F5F:7@@(B165$M?1$%405]2
M3T]4+T1A=&$O:&5A9'-Q+W%U87)T97(B("`@"B`@=C$V(%-E=$EM86=E4F%N
M9V4@,2`Y,R`@"B`@=C$V(%-E=$1A=&%3<&%C:6YG(#,N,B`S+C(@,2XU("`*
M("!V,38 at 57!D871E("`*"B, at 06X@;W5T;&EN92!I<R!S:&]W;B!F;W(@8V]N
M=&5X="X*(PIV=&M/=71L:6YE1FEL=&5R(&]U=&QI;F4*("!O=71L:6YE(%-E
M=$EN<'5T(%MV,38 at 1V5T3W5T<'5T72`@"@IV=&M0;VQY1&%T84UA<'!E<B!O
M=71L:6YE36%P<&5R"B`@;W5T;&EN94UA<'!E<B!3971);G!U="!;;W5T;&EN
M92!'971/=71P=71=("`*"G9T:T%C=&]R(&]U=&QI;F5!8W1O<@H@(&]U=&QI
M;F5!8W1O<B!3971-87!P97(@;W5T;&EN94UA<'!E<B`@"@HC($-R96%T92!T
M:&4 at 4F5N9&5R5VEN9&]W+"!296YD97)E<B!A;F0 at 26YT97)A8W1O<@HC('1H
M92!);G1E<F%C=&]R(&ES(&YE961E9"!F;W(@=&AE('=I9&=E=',*(PH*=G1K
M5&M296YD97)7:61G970 at +G)E;E=I;@IS970@<F5N5VEN(%LN<F5N5VEN($=E
M=%)E;F1E<E=I;F1O=UT*=G1K4F5N9&5R97(@<F5N,0HC('9T:U)E;F1E<E=I
M;F1O=R!R96Y7:6X*)')E;E=I;B!!9&1296YD97)E<B!R96XQ"@H*=G1K4F5N
M9&5R5VEN9&]W26YT97)A8W1O<B!I<F5N"B`@:7)E;B!3971296YD97)7:6YD
M;W<@)')E;E=I;B`@"@HC(%1H92!S:&%R960@<&EC:V5R(&5N86)L97,@=7,@
M=&\@=7-E(#,@<&QA;F5S(&%T(&]N92!T:6UE"B, at 86YD(&=E=',@=&AE('!I
M8VMI;F<@;W)D97(@<FEG:'0*(PIV=&M#96QL4&EC:V5R('!I8VME<B`*("!P
M:6-K97(@4V5T5&]L97)A;F-E(#`N,#`U("`@"@HC(%1H92`S(&EM86=E('!L
M86YE('=I9&=E=', at 87)E('5S960@=&\@<')O8F4@=&AE(&1A=&%S970N"B,*
M=G1K26UA9V50;&%N95=I9&=E="!P;&%N95=I9&=E=%@*("!P;&%N95=I9&=E
M=%@@1&ES<&QA>51E>'1/;@H@('!L86YE5VED9V5T6"!3971);G!U="!;=C$V
M($=E=$]U='!U=%T*("!P;&%N95=I9&=E=%@@4V5T26YT97)A8W1O<B!I<F5N
M"B`@<&QA;F57:61G9718(%-E=%!L86YE3W)I96YT871I;VY4;UA!>&5S"B`@
M<&QA;F57:61G9718(%-E=%-L:6-E26YD97@@,S(*("!P;&%N95=I9&=E=%@@
M4V5T4&EC:V5R('!I8VME<@H@('!L86YE5VED9V5T6"!3971+97E0<F5S<T%C
M=&EV871I;VY686QU92`B>"(*("!S970@<')O<#$@6W!L86YE5VED9V5T6"!'
M9710;&%N95!R;W!E<G1Y70H@("1P<F]P,2!3971#;VQO<B`Q(#`@,`H@('!L
M86YE5VED9V5T6"!/;@H*=G1K26UA9V50;&%N95=I9&=E="!P;&%N95=I9&=E
M=%D*("!P;&%N95=I9&=E=%D at 1&ES<&QA>51E>'1/;@H@('!L86YE5VED9V5T
M62!3971);G!U="!;=C$V($=E=$]U='!U=%T*("!P;&%N95=I9&=E=%D at 4V5T
M26YT97)A8W1O<B!I<F5N"B`@<&QA;F57:61G9719(%-E=%!L86YE3W)I96YT
M871I;VY4;UE!>&5S"B`@<&QA;F57:61G9719(%-E=%-L:6-E26YD97@@,S(*
M("!P;&%N95=I9&=E=%D at 4V5T4&EC:V5R('!I8VME<@H@('!L86YE5VED9V5T
M62!3971+97E0<F5S<T%C=&EV871I;VY686QU92`B>2(*("!S970@<')O<#(@
M6W!L86YE5VED9V5T62!'9710;&%N95!R;W!E<G1Y70H@("1P<F]P,B!3971#
M;VQO<B`Q(#$@,`H@('!L86YE5VED9V5T62!3971,;V]K=7!486)L92!;<&QA
M;F57:61G9718($=E=$QO;VMU<%1A8FQE70H@('!L86YE5VED9V5T62!/;@H*
M(R!F;W(@=&AE('HM<VQI8V4L('1U<FX@;V9F('1E>'1U<F4@:6YT97)P;VQA
M=&EO;CH*(R!I;G1E<G!O;&%T:6]N(&ES(&YO=R!N96%R97-T(&YE:6=H8F]U
M<BP@=&\@9&5M;VYS=')A=&4*(R!C<F]S<RUH86ER(&-U<G-O<B!S;F%P<&EN
M9R!T;R!P:7AE;"!C96YT97)S"B,*=G1K26UA9V50;&%N95=I9&=E="!P;&%N
M95=I9&=E=%H*("!P;&%N95=I9&=E=%H at 1&ES<&QA>51E>'1/;@H@('!L86YE
M5VED9V5T6B!497AT=7)E26YT97)P;VQA=&5/9F8*("!P;&%N95=I9&=E=%H@
M4V5T26YP=70 at 6W8Q-B!'971/=71P=71="B`@<&QA;F57:61G971:(%-E=$EN
M=&5R86-T;W(@:7)E;@H@('!L86YE5VED9V5T6B!39710;&%N94]R:65N=&%T
M:6]N5&]:07AE<PH@('!L86YE5VED9V5T6B!39713;&EC94EN9&5X(#0V"B`@
M<&QA;F57:61G971:(%-E=%!I8VME<B!P:6-K97(*("!P;&%N95=I9&=E=%H@
M4V5T2V5Y4')E<W-!8W1I=F%T:6]N5F%L=64@(GHB"B`@<V5T('!R;W`S(%MP
M;&%N95=I9&=E=%H at 1V5T4&QA;F50<F]P97)T>5T*("`D<')O<#, at 4V5T0V]L
M;W(@,"`P(#$*("!P;&%N95=I9&=E=%H at 4V5T3&]O:W5P5&%B;&4 at 6W!L86YE
M5VED9V5T6"!'971,;V]K=7!486)L95T*("!P;&%N95=I9&=E=%H at 3VX*"B,@
M061D('1H92!O=71L:6YE(&%C=&]R('1O('1H92!R96YD97)E<BP@<V5T('1H
M92!B86-K9W)O=6YD(&%N9"!S:7IE"B,*<F5N,2!!9&1!8W1O<B!O=71L:6YE
M06-T;W(*"EMR96XQ($=E=$-U;&QE<G-=(%)E;6]V94%L;$ET96US"@IR96XQ
M(%-E=$)A8VMG<F]U;F0@(#`N,2`P+C$@,"XR"B1R96Y7:6X at 4V5T4VEZ92`T
M,#`@-#`P"@IS970 at 8V%M,2!;<F5N,2!'971!8W1I=F5#86UE<F%="B1C86TQ
M($5L979A=&EO;B`Q,3`*)&-A;3$@4V5T5FEE=U5P(#`@,"`M,0HD8V%M,2!!
M>FEM=71H(#0U"G)E;C$@4F5S971#86UE<F%#;&EP<&EN9U)A;F=E"@HC(')E
M;F1E<B!T:&4@:6UA9V4*(PII<F5N($%D9$]B<V5R=F5R(%5S97)%=F5N="![
M=VT at 9&5I8V]N:69Y("YV=&M);G1E<F%C='T*)')E;E=I;B!296YD97(*"B,@
M4')E=F5N="!T:&4@=&L@=VEN9&]W(&9R;VT@<VAO=VEN9R!U<"!T:&5N('-T
D87)T('1H92!E=F5N="!L;V]P+ at HC('=M('=I=&AD<F%W("X*
`
end

begin 600 ImagePlaneWidget.java
M:6UP;W)T('9T:RXJ.PII;7!O<G0@:F%V87 at N<W=I;F<N*CL*+R\@<&%C:V%G
M92!R97%U:7)E('9T:VEN=&5R86-T:6]N"B\O('!A8VMA9V4@<F5Q=6ER92!V
M=&MT97-T:6YG"@H*"G!U8FQI8R!C;&%S<R!);6%G95!L86YE5VED9V5T('L*
M("!P=6)L:6,@<W1A=&EC('9O:60@;6%I;B`H(%-T<FEN9UM=(&%R9W8@*2![
M"B`@("`O+U1H:7, at 97AA;7!L92!D96UO;G-T<F%T97,@:&]W('1O('5S92!T
M:&4@=G1K26UA9V50;&%N95=I9&=E="!T;R!P<F]B90H@("`@+R]A(#-$(&EM
M86=E(&1A=&%S970@=VET:"!T:')E92!O<G1H;V=O;F%L('!L86YE<RX*"B`@
M("!V=&M086YE;"!R96Y7:6X@/2!N97<@=G1K4&%N96PH*3L*("`@($I&<F%M
M92!F<F%M92`](&YE=R!*1G)A;64@*"`B26UA9V50;&%N95=I9&=E="(@*3L*
M("`@(&9R86UE+F=E=$-O;G1E;G1086YE*"DN861D("@@(D-E;G1E<B(L(')E
M;E=I;B`I.PH@("`@9G)A;64N<&%C:R at I.PH@("`@9G)A;64N<V5T5FES:6)L
M92AT<G5E*3L*"B`@("`O+U-T87)T(&)Y(&QO861I;F<@<V]M92!D871A+ at H@
M("`@=G1K5F]L=6UE,39296%D97(@=C$V(#T@;F5W('9T:U9O;'5M93$V4F5A
M9&5R*"D["B`@("!V,38N4V5T1&%T841I;65N<VEO;G,@*"`V-"P at -C0@("D[
M"B`@("!V,38N4V5T1&%T84)Y=&5/<F1E<E1O3&ET=&QE16YD:6%N("@I.PH@
M("`@=C$V+E-E=$9I;&50<F5F:7@@*"`B+VAO;64O8FQE>F5K+W-R8R]65$M$
M871A+T1A=&$O:&5A9'-Q+W%U87)T97(B("D["B`@("!V,38N4V5T26UA9V52
M86YG92`H(#$L(#DS("D["B`@("!V,38N4V5T1&%T85-P86-I;F<@*"`S+C(L
M(#,N,BP@,2XU("D["B`@("!V,38N57!D871E*"D["@H@("`@+R]!;B!O=71L
M:6YE(&ES('-H;W=N(&9O<B!C;VYT97AT+ at H@("`@=G1K3W5T;&EN949I;'1E
M<B!O=71L:6YE(#T@;F5W('9T:T]U=&QI;F5&:6QT97(H*3L*("`@(&]U=&QI
M;F4N4V5T26YP=70@*"!V,38N1V5T3W5T<'5T*"D@("D["@H@("`@=G1K4&]L
M>41A=&%-87!P97(@;W5T;&EN94UA<'!E<B`](&YE=R!V=&M0;VQY1&%T84UA
M<'!E<B at I.PH@("`@;W5T;&EN94UA<'!E<BY3971);G!U="`H(&]U=&QI;F4N
M1V5T3W5T<'5T*"D@("D["@H@("`@=G1K06-T;W(@;W5T;&EN94%C=&]R(#T@
M;F5W('9T:T%C=&]R*"D["B`@("!O=71L:6YE06-T;W(N4V5T36%P<&5R("@@
M;W5T;&EN94UA<'!E<B`@*3L*"B`@("`O+T-R96%T92!T:&4 at 4F5N9&5R5VEN
M9&]W+"!296YD97)E<B!A;F0 at 26YT97)A8W1O<@H@("`@+R]T:&4 at 26YT97)A
M8W1O<B!I<R!N965D960 at 9F]R('1H92!W:61G971S"B`@("!V=&M296YD97)E
M<B!R96XQ(#T@<F5N5VEN+D=E=%)E;F1E<F5R*"D["B`@("!V=&M296YD97)7
M:6YD;W=);G1E<F%C=&]R(&ER96X@/2!N97<@=G1K4F5N9&5R5VEN9&]W26YT
M97)A8W1O<B at I.PH@("`@:7)E;BY3971296YD97)7:6YD;W<@*"!R96Y7:6XN
M1V5T4F5N9&5R5VEN9&]W*"D@*3L*"B`@("`O+U1H92!S:&%R960@<&EC:V5R
M(&5N86)L97,@=7,@=&\@=7-E(#,@<&QA;F5S(&%T(&]N92!T:6UE"B`@("`O
M+V%N9"!G971S('1H92!P:6-K:6YG(&]R9&5R(')I9VAT"B`@("!V=&M#96QL
M4&EC:V5R('!I8VME<B`](&YE=R!V=&M#96QL4&EC:V5R*"D["B`@("!P:6-K
M97(N4V5T5&]L97)A;F-E("@@,"XP,#4@*3L*"B`@("`O+U1H92`S(&EM86=E
M('!L86YE('=I9&=E=', at 87)E('5S960@=&\@<')O8F4@=&AE(&1A=&%S970N
M"B`@("`@=G1K26UA9V50;&%N95=I9&=E="!P;&%N95=I9&=E=%@@/2!N97<@
M=G1K26UA9V50;&%N95=I9&=E="@I.PH@("`@('!L86YE5VED9V5T6"Y$:7-P
M;&%Y5&5X=$]N("@I.PH@("`@('!L86YE5VED9V5T6"Y3971);G!U="`H('8Q
M-BY'971/=71P=70H*2D["B`@("`@<&QA;F57:61G9718+E-E=$EN=&5R86-T
M;W(@*"!I<F5N("D["B`@("`@<&QA;F57:61G9718+E-E=%!L86YE3W)I96YT
M871I;VY4;UA!>&5S("@I.PH@("`@('!L86YE5VED9V5T6"Y39713;&EC94EN
M9&5X("@@,S(I.PH@("`@('!L86YE5VED9V5T6"Y39710:6-K97(@*"!P:6-K
M97(I.PH@("`@('!L86YE5VED9V5T6"Y3971+97E0<F5S<T%C=&EV871I;VY6
M86QU92`H("=X)RD["B`@("`@<&QA;F57:61G9718+D=E=%!L86YE4')O<&5R
M='DH*2Y3971#;VQO<B`H(#$L(#`L(#`I.PH@("`@('!L86YE5VED9V5T6"Y/
M;B`H*3L*"B`@("`@=G1K26UA9V50;&%N95=I9&=E="!P;&%N95=I9&=E=%D@
M/2!N97<@=G1K26UA9V50;&%N95=I9&=E="@I.PH@("`@('!L86YE5VED9V5T
M62Y$:7-P;&%Y5&5X=$]N("@I.PH@("`@('!L86YE5VED9V5T62Y3971);G!U
M="`H('8Q-BY'971/=71P=70H*2`I.PH@("`@('!L86YE5VED9V5T62Y3971)
M;G1E<F%C=&]R("@@:7)E;BD["B`@("`@<&QA;F57:61G9719+E-E=%!L86YE
M3W)I96YT871I;VY4;UE!>&5S("@I.PH@("`@('!L86YE5VED9V5T62Y39713
M;&EC94EN9&5X("@@,S(I.PH@("`@('!L86YE5VED9V5T62Y39710:6-K97(@
M*"!P:6-K97(I.PH@("`@('!L86YE5VED9V5T62Y3971+97E0<F5S<T%C=&EV
M871I;VY686QU92`H("=Y)R`I.PH@("`@('!L86YE5VED9V5T62Y'9710;&%N
M95!R;W!E<G1Y*"DN4V5T0V]L;W(@*"`Q+"`Q+"`P*3L*("`@("!P;&%N95=I
M9&=E=%DN4V5T3&]O:W5P5&%B;&4@*"!P;&%N95=I9&=E=%@N1V5T3&]O:W5P
M5&%B;&4H*2`I.PH@("`@('!L86YE5VED9V5T62Y/;B`H*3L*"B`@("`@+R]F
M;W(@=&AE('HM<VQI8V4L('1U<FX@;V9F('1E>'1U<F4@:6YT97)P;VQA=&EO
M;CH*("`@("`O+VEN=&5R<&]L871I;VX@:7,@;F]W(&YE87)E<W0@;F5I9VAB
M;W5R+"!T;R!D96UO;G-T<F%T90H@("`@("\O8W)O<W,M:&%I<B!C=7)S;W(@
M<VYA<'!I;F<@=&\@<&EX96P at 8V5N=&5R<PH@("`@("!V=&M);6%G95!L86YE
M5VED9V5T('!L86YE5VED9V5T6B`](&YE=R!V=&M);6%G95!L86YE5VED9V5T
M*"D["B`@("`@('!L86YE5VED9V5T6BY$:7-P;&%Y5&5X=$]N("@I.PH@("`@
M("!P;&%N95=I9&=E=%HN5&5X='5R94EN=&5R<&]L871E3V9F("@I.PH@("`@
M("!P;&%N95=I9&=E=%HN4V5T26YP=70@*"!V,38N1V5T3W5T<'5T*"DI.PH@
M("`@("!P;&%N95=I9&=E=%HN4V5T26YT97)A8W1O<B`H(&ER96XI.PH@("`@
M("!P;&%N95=I9&=E=%HN4V5T4&QA;F5/<FEE;G1A=&EO;E1O6D%X97,@*"D[
M"B`@("`@('!L86YE5VED9V5T6BY39713;&EC94EN9&5X("@@-#8I.PH@("`@
M("!P;&%N95=I9&=E=%HN4V5T4&EC:V5R("@@<&EC:V5R*3L*("`@("`@<&QA
M;F57:61G971:+E-E=$ME>5!R97-S06-T:79A=&EO;E9A;'5E("@@)WHG("D[
M"B`@("`@('!L86YE5VED9V5T6BY'9710;&%N95!R;W!E<G1Y*"DN4V5T0V]L
M;W(@*"`P+"`P+"`Q("D["B`@("`@('!L86YE5VED9V5T6BY3971,;V]K=7!4
M86)L92`H('!L86YE5VED9V5T6"Y'971,;V]K=7!486)L92 at I("D["B`@("`@
M('!L86YE5VED9V5T6BY/;B`H*3L*"B`@("`@("\O061D('1H92!O=71L:6YE
M(&%C=&]R('1O('1H92!R96YD97)E<BP@<V5T('1H92!B86-K9W)O=6YD(&%N
M9"!S:7IE"B`@("`@(')E;C$N061D06-T;W(@*"!O=71L:6YE06-T;W(@*3L*
M"B`@("`@(')E;C$N1V5T0W5L;&5R<R at I+E)E;6]V94%L;$ET96US*"D["@H@
M("`@("!R96XQ+E-E=$)A8VMG<F]U;F0@*"`@,"XQ+"`P+C$L(#`N,BD["@H@
M("`@("!V=&M#86UE<F$@8V%M,2`](')E;C$N1V5T06-T:79E0V%M97)A*"D[
M"B`@("`@(&-A;3$N16QE=F%T:6]N("@@,3$P*3L*("`@("`@8V%M,2Y39716
M:65W57`@*"`P+"`P+"`M,2D["B`@("`@(&-A;3$N07II;75T:"`H(#0U*3L*
M("`@("`@<F5N,2Y297-E=$-A;65R84-L:7!P:6YG4F%N9V4@*"D["@H@('T*
"?0H=
`
end



More information about the vtk-developers mailing list