Java 高速GUI SWT 2

このエントリーをはてなブックマークに追加
932931:2006/07/08(土) 17:11:57
>>930
だった…orz
933デフォルトの名無しさん:2006/07/09(日) 13:01:54
2chで人募集するような業者にまともなのはいないな。
会ったりなんかしたら二度と帰れない可能性が高い。
934デフォルトの名無しさん:2006/07/10(月) 19:27:13
高速なのかい?
935デフォルトの名無しさん:2006/07/10(月) 23:25:34
>>933
1人時給10円でいいからっていって
100人ぐらいで教えにいくってどうだろう?
936デフォルトの名無しさん:2006/07/14(金) 02:24:33
ComboとかCComboって、アイコン貼れないのか……('A`)
937デフォルトの名無しさん:2006/07/14(金) 23:35:04
つSwing
938デフォルトの名無しさん:2006/07/15(土) 01:05:06
結局それか・・
939デフォルトの名無しさん:2006/07/16(日) 00:44:27
SWTのコンポーネントモデルってMFCを参考にしたもの?
VCLを参考にして欲しかった。
940デフォルトの名無しさん:2006/07/16(日) 02:20:13
>>939
VCLを参考にしたのはSwing
941デフォルトの名無しさん:2006/07/16(日) 13:41:11
SWTはIBM VisualAge Smalltalkの次世代GUIコンポーネントが元じゃなかったかな、
組み込みにも使えて、プラットフォーム固有の機能を使えることを目指した奴。
942デフォルトの名無しさん:2006/07/17(月) 20:52:22
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)
よろしくおねがいします
i−want−to−study−java@hotmail.co.jp
教える対象は超初心者です。

専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
943デフォルトの名無しさん:2006/07/18(火) 02:32:53
スパマーさんいらっしゃい。
mailto:[email protected]

つってもhotmailだけど。
944デフォルトの名無しさん:2006/07/18(火) 02:33:05
gc.handle経由でデバイスコンテキスト渡すことができるんで、
ハッチブラシだのイメージブラシだの何でもできることがわかった。
Win32API、楽しいぃいい

http://www.hcn.zaq.ne.jp/no-ji/javamemo/org_eclipse_swt_internal_win32_OS.html

ただベジェ曲線のAPIがつぶされてるのと、
Win以外の環境には二度と移植できないSWTプログラムができる・・・
これってJava使ってる意味ねぇよな・・・
945デフォルトの名無しさん:2006/07/18(火) 19:43:37
i-dont-want-to-teach-java
946デフォルトの名無しさん:2006/08/04(金) 08:37:44
基本的な質問でスマソ。

SWTのマウスイベント等は
AWTのconsumeみたいな感じで無効化したりできるの?

ちょっと調べたけど、
やりかたわからんかった・・・orz
947デフォルトの名無しさん:2006/08/04(金) 09:17:27
e.doit = false
だったかな。確かこんな感じで無効化できたはず。
948946:2006/08/04(金) 09:39:29
>947

レスありがとうございます!

セレクションイベント等は
その方法で行けそうなんですが
マウスイベントはdoitフィールドが
見当たらないんですよね…

見方が悪いのでしょうか(*´д`*)
949デフォルトの名無しさん:2006/08/04(金) 10:01:04
クリックを無効にしたいとかはロジックで何とかなるんじゃない?
950946:2006/08/04(金) 12:30:20
>949

例えば、Tree部品で
ある条件のときだけ
マウスクリックによるノードの展開を抑止したい…
みたいなことをやろうとしたら
ロジックでどうにかなったりしちゃいます?

最終結果だけを合わせるような
処理なら書けそうな気はしますが
ちらついたりしていまいちだし
なんかAWTみたいに楽な方法はないかと思った訳です…
951デフォルトの名無しさん:2006/08/04(金) 13:12:49
>>950
ああ、そういうのをしようと思うと難しいね。
その条件の時だけ子を消すとかするとツリーの再描画があってちらつきそうだしなぁ。

俺の場合は、さらにWindowsとLinuxだとマウスイベントの発生するタイミングが違ったりで苦労したな・・・。
Treeを展開するときにWindowsはマウスイベント発生してから展開されるけど、Linuxは展開された後にイベント発生したりするし。
そのときはさすがにSWTダメじゃん!と思ったよ。
952デフォルトの名無しさん:2006/08/04(金) 13:26:14
SWTで書いたのはかなり前なんで、細かいことは忘れたが・・・

MouseEventやSelectionEventの時点でイベントの流れを止めると、選択できなくなるけどいいのか?
展開を抑止したいんならTree側の処理だろうし、そもそも展開できないものを
Treeとして表示するのもヘンテコなUIだと思う。
コンポーネントはTreeのままで、表示方法は変更するにしろ、
そういった処理はTreeとかTreeItemでやるのが筋では。

でもSWTって継承できないから、ちょっと手間かかるけどねー
953952:2006/08/04(金) 13:28:12
・・・って、SelectionEventは選択後に発生するよな。 失礼。

LinuxのSWTって触ったことなかったけど、触んなくて良かった
954デフォルトの名無しさん:2006/08/05(土) 00:49:48
特定の TreeItem だけ disable にできたらそれで代用できそう。
955946:2006/08/08(火) 09:35:21
遅レスすまそ…

確かにUI的には変だと思います。。

これはこちらの作りが悪いのかもしれませんが
以下の問題が発生してるための
回避として調査してました

1.ツリーの一部のセルをマウスダウントリガでcomboにする
2.comboにフォーカスがある状態でツリーの展開しようとする
3.TreeEditorでヌルポ発生

同様な実装をTextでやっても問題は発生しません…
もしかしたらdisposeのタイミングが悪いのかも知れませんけどねー

ちょっとjface等調べて試してみようと思います


ちなみに、Treeって一部のノードだけを
使用不可にしたりチェックスタイルやめたり
できませんよね?
なんか痒いとこに手が届かない
歯がゆいコンポーネントですよね…
956デフォルトの名無しさん:2006/08/08(火) 21:59:31
>955
Combo が focusLost したときに、TreeEditor を閉じれば解決できるかも。
957デフォルトの名無しさん:2006/08/20(日) 19:47:44
SWTonMacって出ない?
958デフォルトの名無しさん:2006/08/21(月) 09:23:05
Shellを作った時に自動で付いてくる[×]ボタンを別の処理に置き換えることはできないでしょうか?(例えばsetVisible(false)とか)

もう1つ質問
JFaceで作成したメニューバーやツールバーの表示・非表示を切り替えることはできないでしょうか?
setVisible()だけだと領域が残るので…
959デフォルトの名無しさん:2006/08/24(木) 17:04:55
ちょっと質問です。

Treeに対してTreeColumnを使用した場合、
スタイルにSWT.FULL_SELECTIONを指定しないと、
マウスイベント発生時に
 Tree#getItem(Point)
でTreeItemがとれません。。。

これは仕様なんでしょうか?


やりたいことは以下のことです。

・SWT.FULL_SELECTIONでないTreeで複数桁表示する。
・1以上のカラムをマウス押下された場合、
 0カラム目のノードを選択状態にする。

なにかうまい方法があればよいのですが・・・
情報ありましたらアドバイスお願いします。
960デフォルトの名無しさん:2006/08/27(日) 01:39:34
質問です。

JavaGUIプログラミングSWT編というテキストに載っていた
MemoPadというソフトをちょっと変更して作ってみて、
Eclipse上で動かすと、ウインドウを閉じるとプロセスも終了
するのですが、JavaWebStartで配布したものだとプロセスが
終了してくれません。これはなぜなのでしょうか?

ちなみに、JavaWebStartで配布したものも、メニューの
「ファイル」→「閉じる」からだとプロセスが終了します。
961デフォルトの名無しさん:2006/08/30(水) 01:09:17
>958
×ボタン云々については、こんな感じでshellClosedのイベントを
実装すればできるかと。

sShell.addShellListener(new ShellAdapter() {
    public void shellClosed(ShellEvent e) {
    e.doit = false;
    sShell.setVisible(false);
  }
}
962デフォルトの名無しさん:2006/09/08(金) 21:21:42
移動しているウインドウをクリックで止めるという
プログラムをSWTで練習の意味で作ってるんだけど

移動中にマウスクリックイベントが拾えない。
shellのsetLocationとupdateで1ドットずつずらしながら
移動してるんだけど、なんか間違ってる?
963962:2006/09/09(土) 00:18:04
事故解決した。

めんどくせぇ・・・
964デフォルトの名無しさん:2006/09/09(土) 08:07:22
えと、Tabを使ったソフト作ろうとしているんですが、
どんどんTabを追加して開いていくというのはどうすればできるのでしょうか?
965デフォルトの名無しさん:2006/09/09(土) 18:17:05
964です。自己解決しますた。
966デフォルトの名無しさん:2006/09/13(水) 22:27:06
SWTでテキストボックスとかの「デフォルトフォント」を取得する方法はありますか?
テキストボックスをnewしないで。


967デフォルトの名無しさん:2006/09/13(水) 22:51:31
デフォルトフォントはDisplayクラスから引っ張ってるみたいだから、
display.getSystemFont ().handle;
とかで引けるんじゃないかな。
968デフォルトの名無しさん:2006/09/13(水) 22:52:28
OKありがと!ちょい調べてみます!
969デフォルトの名無しさん:2006/09/16(土) 00:07:28
Java2Dとの組み合わせで詳しいサイトきぼんぬ。
あそこは読みづらいんだよねぇ
970デフォルトの名無しさん:2006/09/16(土) 02:58:05
あそことは何か。
不明瞭な発言は止めよ。
971デフォルトの名無しさん:2006/09/16(土) 21:32:48
グレートブルーの識別信号がゲルドルバの線上で確認されたのですが、どうも……
972デフォルトの名無しさん:2006/09/17(日) 23:33:32
age();
973デフォルトの名無しさん:2006/09/18(月) 00:49:29
たぶんあそことはdWのことだろう

http://www-06.ibm.com/jp/developerworks/java/040702/j_j-2dswt.html

Java2Dとの組み合わせは、正直ここしかみたことない
974デフォルトの名無しさん:2006/09/24(日) 14:02:37
TextからfocusOutさせない方法知らない?
TraverseListenerだとTabイベントだと制御できるけど、マウスでの移動に
対応できない。???
975デフォルトの名無しさん:2006/09/24(日) 17:30:50
>969
基本的にSWTとJava2D(=AWT)は別物だから使えないよ。
dWみたいに画像転送するぐらいしか。
976デフォルトの名無しさん:2006/09/24(日) 22:48:21
>>974
display#setFilter()つかってFocusInイベントを捕まえて
目的のwidget以外だったら目的のwidgetにsetFocusしなおす。

でもそもそも目的以外のwidget全てをsetEnable(false)なり
setEditable(false)なりして、フォーカスをあてたり編集
したりする操作ができないことをユーザに対して示しておく
べきだと思う。見た目上出来るはずなのに実際は出来ないってのはおかしいよね。
977デフォルトの名無しさん:2006/09/27(水) 17:04:15
Eclipseでプロジェクト作って
つっこんでさー実行させたら

java.lang.UnsatisfiedLinkError: no swt-win32-3232 in java.library.path
ってでるんだけど。。

ググっても微妙だったんで、他にもなった事ある人います??
The SWT FAQみてもちょっとわからんかったんで。

Eclipse SDK3.1.1
Win2k
Java1.4
978デフォルトの名無しさん:2006/09/27(水) 17:10:54
それはさー、かんたんじゃん。入門の最初にかいてるじゃん。

でもさ、環境移動したら忘れるよね。
だからおれはPJの設定で指定してるさ
979977:2006/09/27(水) 17:22:36
>>978
Dllのpathを環境設定すりゃいいのかー
980977:2006/09/27(水) 17:28:21
なるべっっっっっっっっく辛気臭いコマンドラインじゃなくて
Eclipseで開発してぇええええええんで。
がんばろう
981977
お父さん聞いてよ
ワークスペースにswt-win32-3232.dll入れたら動いたYo!

おさわがせしますた。