ページ更新: 2008-03-26 (水) (5421日前)
主に eclipse 3.0.1 + WindowBuilder 2.1.0 / 3.0.1 についてのメモ。 目次
Compositeのすべての子の有効/無効を切り替える #2005-05-07 Compositeのすべての子の有効/無効を切り替える。 void setEnabled(Composite composite, boolean value) { Control[] controls = composite.getChildren(); for (int i = 0, s = controls.length; i < s; i++) { Control control = controls[i]; control.setEnabled(value); if (control instanceof Composite) { setEnabled((Composite)control, value); } } }[編集] swt.jarのみでBMPからTIFF/JPEG/PNGを作成できるか? #2005-04-27 JNIなしでできそうな気もする。ImageLoaderクラスを調べてみること。 version 3063 win32 では
ファイルに結びつけられているコマンドを実行する #2005-03-29 The Definitive Guide to SWT and JFace, p.536, Digging into Programs, p.536, Digging into Programs より。 できそうなこと
なお、プログラム自体のパスは求められないようだ。 [編集]swtsrc.zipからjavadocを作る #2005-03-22 ぼ〜っとJavadocを眺めようと思う。 javadocをコマンドラインから使ったことがないので、Antでやってみる。 swt-3.0.1-win32.zipを展開し、その中のswtsrc.zipを展開して、こんなスクリプトを実行する。 <?xml version="1.0" encoding="Shift_JIS"?> <project name="SWT" default="javadoc" basedir="."> <target name="javadoc"> <javadoc packagenames="org.eclipse.swt.*" sourcepath="swtsrc" source="1.4" destdir="doc" access="private" author="true" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" splitindex="true" use="true" version="true" > </javadoc> </target> </project> $ ant Buildfile: build.xml javadoc: [javadoc] Generating Javadoc [javadoc] Javadoc execution [javadoc] パッケージ org.eclipse.swt のソースファイルを読み込んでいます... : (略) [javadoc] 警告 79 個 BUILD SUCCESSFUL Total time: 48 seconds[編集] 各プラットフォームのswt.jarの違い #2004-11-25 素朴な疑問。
swt-3.0.1 の linux-gtk, macosx-carbon, win32 を調べてみた。 $ ls -lR | egrep "^\.|jar" .: ./swt-3.0.1-linux-gtk: -rwx------+ 1 username なし 75982 Sep 17 01:35 swt-mozilla.jar* -rwx------+ 1 username なし 50727 Sep 17 01:35 swt-pi.jar* -rwx------+ 1 username なし 906064 Sep 17 01:35 swt.jar* ./swt-3.0.1-macosx-carbon: -rwx------+ 1 username なし 41180 Sep 17 01:35 swt-pi.jar* -rwx------+ 1 username なし 828722 Sep 17 01:35 swt.jar* ./swt-3.0.1-win32: -rwx------+ 1 username なし 1128179 Sep 16 12:34 swt.jar*
$ ls -lR | egrep "^\.|zip" ./swt-3.0.1-linux-gtk: -rwx------+ 1 username なし 86321 Sep 17 01:35 swt-mozillasrc.zip* -rwx------+ 1 username なし 139951 Sep 17 01:35 swt-pisrc.zip* -rwx------+ 1 username なし 841752 Sep 17 01:35 swtsrc.zip* ./swt-3.0.1-macosx-carbon: -rwx------+ 1 username なし 108171 Sep 17 01:35 swt-pisrc.zip* -rwx------+ 1 username なし 814601 Sep 17 01:35 swtsrc.zip* ./swt-3.0.1-win32: -rwx------+ 1 username なし 1195637 Sep 16 12:34 swtsrc.zip*
JVM オプション #-Djava.library.path=path/to/library[編集] GraphicsMagick が作った白黒BMPをSWTで読み取れない #カラーの場合は読み取れる。 白黒の場合は、例外が発生する。 IrfanViewer では見ることができる。
次のように、圧縮しないと SWT で読み取れる。 $ gm convert -compress None -crop 256x256+0+0 lenagray.bmp ok.bmp GraphicsMagick 1.0.6-1 と ImageMagick 6.0.4-1 の双方とも、読み込めない。 $ gm convert -crop 256x256+0+0 lenagray.bmp bad.bmp $ convert -crop 256x256+0+0 lenagray.bmp bad2.bmp[編集] ドロップダウンリストの大きさは変えられないのか? #ドロップダウンリストで表示されるウィンドウの大きさを 大きくしたいが、SWT Designer には特に設定項目はない。 追加 Comboであれば、setVisibleItemCount(int) で変更できる。たぶんリストもできると思う。 [編集]デフォルトボタンを設定する #リターンを押したときに押されたとみなされるボタンの設定は、 Shell#setDefaultButton(Button)を使う。 [編集] Window を ESC で閉じるには? #SWT.PRIMARY_MODAL や SWT.APPLICATION_MODAL であれば、ESCで閉じる。 shell = new Shell(parent, SWT.CLOSE | SWT.PRIMARY_MODAL); そうではない場合は、次のようにすればできるかもしれない。
shell = new Shell(); shell.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.ESC) { close(); } } });[編集] WindowBuilder で イベントハンドラをメソッドにする #Preference - CodeGeneration - EventHandlers で可能。 ただし Delphi と異なり、メソッドには引数は渡されない。 [編集]SWT.TOGGLE #WindowBuilder 2.0.1 のデザイナは Buttonの SWT.TOGGLEを置けないみたい。 動作確認はできるが。 SWT.TOGGLE については、SWT本 p.194 を参照。 [編集]ラベルと他のWidgetの結びつけ #ラベルとアクセラレータの結びつけはどうするのか?
|