Java 高速GUI SWT 3

■ このスレッドは過去ログ倉庫に格納されています
2006/11/30(木) 18:03:19
とりあえず、前スレ落ちてから時間たつけど、立ててみた。

前スレ

Java 高速GUI SWT 2
http://pc8.2ch.net/test/read.cgi/tech/1068349883/
2008/06/25(水) 01:27:35
>>381
おお、swingでこれは頑張ったな。
お前つくったん?

でもこの手のツール作るなら、やっぱRCPでやってみたいな。
SWT選んで、Draw2DとGEFか。
描画の非力さと、GEFのメタボ設計には泣かされるだろうな。
こっそり裏でGraphics2Dは使わざるを得ないだろうな。

うん、やりたくない。

で、Swing上で動くことの利点はなんだ?
ブラウザ上でアプレットで動かして、共同作業とかできたりするの?
2008/06/25(水) 12:36:10
>>382
Swingスレでもおなじのはってけなしてるから
SWTだからとかはかんけーねーぞ

GKのいつもの手だ
2008/06/25(水) 12:40:48
>>382
釣られすぎ
385使用書無しさん
垢版 |
2008/06/26(木) 22:54:53
>>383 >>381はswingベースだよ。
描画と編集を受け持つクラスもJComponentのサブクラスだから、アプレットでも
簡単に表示と画像編集が可能だよ。

2008/06/27(金) 04:14:24
>>385
日本語理解しろ
2008/06/28(土) 11:42:19
>>386

何興奮してるんだ?
388デフォルトの名無しさん
垢版 |
2008/06/28(土) 16:35:29
超初心者で申しあけございませんが、
画像を複数枚表示させたら画像がちらつきます。
repain();でもちらつきます。
どの言語を打ったら直るのでしょうか?
2008/06/28(土) 20:53:51
>>387
糞コテハン乙
2008/06/28(土) 23:30:03
ProjectionViewerをスタンドアロンで動かせるようになったよ。
ただ、折りたたみをしようとするとおそらく描画スレッドで
例外(NullPointerExceptionだったかな)が発生して
普通のエディタとしてしか使えないんだけど、一応報告まで。
391あぼーん
垢版 |
NGNG
あぼーん
392使用書無しさん
垢版 |
2008/06/30(月) 00:54:26
>>388
javaのバージョンはいくつ?
componentと同じサイズのVolatileImageつくってそれのGraphicsをクリエートして
それに画像書き込んだあと、コンポーネントにdrawImageするっていう古典的な方法
を試してみたら。
393あぼーん
垢版 |
NGNG
あぼーん
394デフォルトの名無しさん
垢版 |
2008/07/09(水) 22:58:04
SWTってOS依存だっけ?
2008/07/10(木) 02:04:58
うむ
396あぼーん
垢版 |
NGNG
あぼーん
2008/07/14(月) 23:46:42
うむ
2008/07/20(日) 22:07:38
http://pc11.2ch.net/test/read.cgi/tech/1164877399/381
2008/07/21(月) 01:14:00
クソコテ
400デフォルトの名無しさん
垢版 |
2008/07/22(火) 21:26:28
TextSS
401デフォルトの名無しさん
垢版 |
2008/07/27(日) 02:33:28
SWTでwindows向けに作成されたGUIアプリは、Linuxでは動作しないという理解でOKですかね?
2008/07/27(日) 04:15:09
いやうごくだろ。
OLEとか使ってなければ。
2008/07/27(日) 05:25:34
Windows向けということはSWT汎用ではないだろうから動かないのは当たり前かと

あとLinuxでも動くといってもSWTがサポートしてある環境じゃないとダメ
すべてのLinuxで動くわけじゃない
2008/09/12(金) 17:30:57
SWT を使ったサーブレットを作ったのですが、シェルを表示しようとすると
落ちてしまいます(Tomcat ごと)。

ディスプレイ関係なのかなんなのか分からないのですが、この様な症状に
陥った方、いらっしゃいますか?

ちなみに落ちちゃうのでエラーメッセージとかはないです…。
405デフォルトの名無しさん
垢版 |
2008/09/12(金) 18:25:42
ニュースサイトなどで定期的に更新される画像を指定した時間ごとに取得して、
保存・蓄積していくようなものを作りたいんです。
その上で、ブラウザ上でのクリックなどで画像を指定すれば取得できるようにしたいんです。

SWTのBrowserウィジェットは
javaとのデータの受け渡しを行うメソッドが無いという情報を見たので、
OLEを使ってIEコンポーネントを呼んでるんですけどこの方法ってどうですかね?

現在表示されているサイトのHTMLを取得するところまで作成したんですけど
初心者に毛が生えた程度のレベルなので
ほんとにこの方法が最善なのか分からなくて・・・。
ブラウザ上のクリックされた画像のファイル名を検出したりとか
そういうことできるのかなー?
漠然としててすいませんが、どなたかアドバイスよろしくお願いします。
406デフォルトの名無しさん
垢版 |
2008/09/12(金) 21:08:05
>>404

Display display = new Display ();
Shell shell = new Shell (display);
Label label = new Label (shell, SWT.NONE);
label.setText ("ほげ");

shell.pack();
shellopen();

while (!shell.isDisposed ()) { // ← !がないと落ちる
if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}


2008/09/12(金) 21:09:57
>>406
すみません、語弊がありました。

落ちるというのは Java のプロセスが異常終了する、という意味です。
2008/09/13(土) 02:57:47
>>404
OSも書かないし、JavaやSWTやTomcatのバージョンも書かない、サンプルコードもない。
エスパーの存在を信じてるんだな…
2008/09/13(土) 17:22:42
なんでサーバ上にGUIを表示させようと思ったのか気になる
2008/09/14(日) 10:58:46
なんでサーバ上にGUIを表示させようと思ったのか気になるのかが気になる
2008/09/14(日) 12:20:25
>>404がなにをしたいのかわからん
2008/09/14(日) 22:21:37
>>408
MacOS 10.5、Tomcat 5.5、SWT 3.3 になります。

サンプルコードは…本当に単純にシェルを表示しようとしているだけです。
単体で Eclipse 上からアプリケーションとして実行すると表示できるのは
確認しています。

Tomcat 上で実行した時だけ落ちてしまいます。

何でサーバー上でダイアログを出したいかと言うと、ライセンス認証を
行いたいためです。

すみません、すぐ出かけなければならないのでまた今度もう少し詳しく
書きます。
2008/09/15(月) 00:08:43
つーか、なぜサーバ上でライセンス認証しないとダメなの?
2008/09/15(月) 02:59:08
>>412
まさかとは思うが、サーブレットの方にSwt使えば、クライアントのブラウザ側にウィンドウが表示されるとか思ってないよな?
サーバー側で使用する管理用UIを用意したいとか、そういうことなんだよなきっと?!








ねーよwwwwwwwww
2008/09/15(月) 09:49:35
Eclipseのヘルプシステムがtomcatだったころ(今はjettyだっけ?)、ヘルプUIの一部として
サーブレットからSWTを呼んだことはある。結局サーブレットじゃなくて拡張ポイント使ったけど。
またSWT_AWT使ったSWTのアプレットを試しに作ってクライアント側でSWTのコントロールを表示したこともある。
事前にdllの配置が必要だったから全く実用性はないけど。
#今のSWTはdllを自己展開するから署名して権限与えとけばそれなりに使えそうな気もするけど。

だからありえないとまでは言わないが、普通はやらないな。
2008/09/16(火) 21:42:04
>>415
それはサーブレットからSWTを呼んだとは言わんわな。
サーブレットが返すHTMLに埋め込まれたアプレットがSWTを呼んだ、というだけで。
2008/09/16(火) 23:10:25
>>413
コマンドライン等は極力使わないで GUI で操作できる事を前提に構築
されているサーバーなので…。

>>414
さすがにそれは考えてないっすw

お騒がせしたのですが、SWT 3.4 にしたら普通に動きました。
SWT 3.3 と Leopard の相性が悪かったみたいです。

申し訳ありません、ありがとうございました。
2008/09/17(水) 12:21:13
>>417

>コマンドライン等は極力使わないで GUI で操作できる事を前提に構築

だったらサーブレットじゃなくてJavaアプリケーションのほうがよさそうだけれども
2008/09/17(水) 14:42:29
>>417
サーバの管理機能をGUIでって感じなのかな?
だとしたら管理機能ををWebで実装すればすむはなしじゃないのか…?
2008/09/17(水) 15:29:10
>>418
とりあえず、今回は認証だけ単体のアプリケーションで行う様に
しました。

>>419
確かに、そういう手もありましたね。
今回はとりあえずインストールと同時に認証させる形にしました。
2008/09/17(水) 20:25:20
ヒープの気になるWebコンテナから
SWTの画面を出してしまうとわ・・・
2008/09/17(水) 20:44:42
>>421
起動時に一回呼び出すだけでも問題あるんですか?
あと、dispose とかしてもダメですか?
2008/09/17(水) 21:17:30
いまいちどういうアプリなのか想像できねー
WebアプリからGUI画面呼び出すなんてありえん

起動時に1度だけ呼び出すとか意味不明すぎる
それなら普通にGUIアプリからアプリケーションサーバー呼び出すほうが無難
2008/09/17(水) 21:29:27
馬鹿げてる.
悪いことは言わんからHTTPサーバ内でウィンドウを出すのはやめておけ.
2008/09/17(水) 21:35:43
>>423
ダメな理由がいまいちよく分かりませんが…。
実際、jetty を内蔵していて GUI 画面もある、とあるソフトは起動時に
認証を行っていますよ。一般的に有名ではないですが、米国では
そこそこ売れてる様です。
ディスプレイもないサーバーならまだ分かりますが、GUI ベースで
管理しているサーバーなら普通にあり得ると思うんですが…。

とりあえず今回はウェブページ経由で認証した方が楽なので
そっちで作り直してしまいました…。
2008/09/17(水) 21:42:05
Win 用のコンソール GUI 付いたサーバなんていくらでもあるじゃん。
あたま難すぎじゃねぇのおまいら。
427デフォルトの名無しさん
垢版 |
2008/09/17(水) 22:02:53
脳内妄想で貶し合いかよ。おめでてーな。
2008/09/18(木) 01:16:18
>>426
GUIの管理ツールの話じゃないだろ
あたまわるすぎ
2008/09/18(木) 01:37:59
>>428 みたいに、例で出したコードそのまま書いてくる莫迦っているよね。
2008/09/18(木) 03:16:34
Eclipseのヘルプシステムがtomcatだったころ(今はjettyだっけ?)、俺は夕焼けだった。
2008/09/18(木) 03:34:12
RMI なんかで常駐物作ったりするときはタスクトレイからウィンドウ出したり普通にするけどな。
まぁサーブレットしか触ったことのない派遣じゃそんな設計する機会もないだろうけど。
432406
垢版 |
2008/09/19(金) 09:58:28
Mac cocoa でのSWT portはSWT3.5がでるまで待ってたほうがよい。
ソース:ttp://www.eclipse.org/swt/R3_5/plan.html

2008/09/20(土) 02:29:02
>>431
質問者はサーブレットから起動させたいとわけのわからないこといってるので
その話とはまったく別物かと
2008/09/21(日) 00:44:22
サーブレットから起動と言うか、init で一回だけ呼ばれるクラスを作って
そこで認証させようとしてました。
2008/09/21(日) 00:54:21
アプリケーションサーバーから起動するとセキュリティでひっかかってやれないことが増えたりするからやめたほうがいいよ。
アプリケーションとして起動して、そのアプリケーションからアプリケーションサーバーを起動するのが一番良い。
2008/11/07(金) 09:50:44
MacOS X Leopard の 64bit Java VM (JSE6) で SWT 3.4 は動かないの?
2008/11/27(木) 17:00:15
何か良いSWTの解説書籍みたいなのはないの?
Java GUIプログラミング (SWT編)  とかいうのぐらいしかないの?
2008/12/01(月) 18:13:18
死んだ子の歳を数えてもねぇ
2008/12/12(金) 22:07:55
次世代Javaに乗る予定のnimbusきたらSwingもSWTも終わるよ
2008/12/12(金) 22:26:26
>>439
2008/12/13(土) 00:53:31
nimbusはとっくの昔に載ってるし、なんでnimbusでswingが終わるんだよww
2008/12/13(土) 13:27:37
それじゃここは終わった人たちばかりだな
443デフォルトの名無しさん
垢版 |
2008/12/13(土) 16:36:12
>>436 SWT3.5まで無理っぽい。

SWT for 64-bit Cocoa 64-bit OSX Cocoa is now available.
As with the 32-bit implementation, ...(つづきは
ttp://www.eclipse.org/swt/R3_5/new_and_noteworthy.html)
2008/12/13(土) 22:29:40
書き込みテスト
2008/12/13(土) 22:50:17
OS X(10.5.5), eclipse 3.5M4, SWT cocoa 3.5M4(もしくはSWT carbon 3.5M4)の環境で
shellを一枚オープンするだけのコードをjarでエクスポートして実行するとフリーズするのは、上にも出てるけど64bitのJavaだと動かないから?
デフォルトのJavaVMを変更して32bitで動かすというような設定ってある?
プロジェクトのプロパティからJavaVMを変更するとデフォルトの1.5以外全部動かないんだよね・・・
eclipseがSWTで出来てるんだから何かしら方法は有りそうな気がするんだけど
2008/12/14(日) 12:48:23
JNIは32bitと64bit分けないとダメなのがだるい
そしてそれにのっかったEclipseはきっついな
447デフォルトの名無しさん
垢版 |
2008/12/14(日) 20:29:49
>>446
5万円以下のパソコンが最近はやりだな。
行き着く先は無料のLinux搭載のパソコンの普及。

となると、開発者側としては1たびコーディングしたら
Linux用とMac用とWin32用をアプリを生成できる言語が必要となる。
つまり、Javaの出番がまわってくる。

Swingか、SWTか、Webアプリケーションかどれが優勢はわからないが・・・
2008/12/14(日) 22:05:40
圧倒的コストの差で生き残るのはWebアプリ
ニッチなところでSWT
もうSwingに出る幕はない
449445
垢版 |
2008/12/16(火) 01:39:35
事故解決しました。
2008/12/19(金) 20:10:18
>>449
解決方法を書いていけよ
>>448
Swingが意外と使われていることに気づいていないようだな・・・
b2cではWebアプリだが、b2bではSwingが結構まだいる。
SWTは聞いたことがない。
2008/12/19(金) 20:20:35
コストの差で生き残れるのならSwingのほうが開発コスト低い気がするが
2008/12/21(日) 08:35:14
Swingで1画面あたり200項目近い入力画面を作ると動かなくなっちまうんだよな。
.netなら比較的軽く作れるのに・・・もっと軽量なのでてこないだろうか・・・
2008/12/21(日) 09:38:11
>>452
ならないw
2008/12/21(日) 10:20:56
>>452
どんな黒魔術を使うとそうなるの?
2008/12/21(日) 13:45:30
>>452はEclipse使ってるくさいな
だとしたら200項目もあればまずとまる
2008/12/21(日) 15:07:49
NetBeansで200ほどテキストフィールド配置してみたけど、まず問題なかったぞ。
GroupLayoutだから重めの処理してるはずだが。
フォーカス移動のたびにデータ取得するとか、なにかイベントで重い処理やってるんじゃないの?
2008/12/21(日) 17:13:00
JScrollPaneの上にのせて、スクロール量の設定してない、と予想w
それか単純に釣られまくったか
2008/12/21(日) 17:50:05
だいぶ前だがEclipseVEだと50個のせるともう遅くて使い物にならなかったな
459デフォルトの名無しさん
垢版 |
2008/12/21(日) 23:13:51
SWTのことでHelp Exclipse SDK 等を調べてもよくわからなかったので
質問させてください。

以下のパネル(?)を実現しているクラス名を教えてください。
・Eclipse の 画面 のツールバーから下を占拠しているタブ(?)
とcoolbarが合体しているデザイン
・タブのような部分にパースペクティブの情報を埋め込める
(Eclipse Version: 3.4.1 日本語化のデフォルトでは
  デバッグ、Java参照、Java が表示されている)

皆様、ご教示お願いします。
460デフォルトの名無しさん
垢版 |
2008/12/21(日) 23:27:45
>>459
SWTからさらに上に積み上げて造られたコンポーネント

org.eclipse.ui.part.Interface IPage

ttp://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/guide/editors_workbench_outliner.htm?resultof=%22%43%6f%6e%74%65%6e%74%22%20%22%63%6f%6e%74%65%6e%74%22%20%22%6f%75%74%6c%69%6e%65%72%73%22%20%22%6f%75%74%6c%69%6e%22%20
461459
垢版 |
2008/12/22(月) 00:43:11
>>460
ありがとうございます。
今日一日、これを探していました。
よくよんでから眠りにつきたいと思います。

追伸
 皆様、ageてしまってもうしわけなかったです。
462デフォルトの名無しさん
垢版 |
2009/01/28(水) 23:21:41
テーブル内にPUSHボタンを配置しているのですが
テーブル内の情報を更新してもボタンだけが消えずに残ってしまいます。
このテーブル内のボタンを消すメソッドまたは他の方法があるのでしょうか?

2009/01/30(金) 04:11:44
全部一回破棄して描画し直したほうがいいのでは?
ものすごく遅く成ると思うけどね。
2009/03/05(木) 22:56:05
おもっきしすれ違いですが 洒落陸づら
書籍 JAVA
Filthy Rich Clients アニメーションとグラフィカルエフェクトを使ったデスクトップJavaアプリケーション開発
著:チェット・ハーゼ、ロマン・ガイ
訳:松田晃一、小沼千絵
刊行:2008年11月25日
ページ数:612
判型:B5変形
税込価格:5,670円
10-ISBN:4-89471-283-0
13-ISBN:978-4-89471-283-6
http://www.pej-hed.jp/washo/2594.html
http://www.pej-hed.jp/washo/file/896.jpg

を持ってる方 よろしくお願いします
2009/04/21(火) 19:53:26
ほしゅ
2009/04/28(火) 01:11:31
SWTのFileDialogをWebアプリで使いたいんだけど
第一引数に親ウィンドウとして何を渡したらよいかな
2009/04/28(火) 01:24:52
Webアプリ・・・Applet?
2009/04/28(火) 04:48:34
JavaWebStartじゃね?
469466
垢版 |
2009/04/28(火) 20:29:16
ごめんなさい。忘れてください。
アプレットのつもりで、クライアント側で呼ぶことを考えてましたが
不可能とわかりました。恥ずかしいので消えます。
ともあれ、レスありがとうございました。
470デフォルトの名無しさん
垢版 |
2009/05/19(火) 08:44:32
>>301
  ∧ ∧   一人一個まで
 ( ´・ω・)
 ( ∪ ∪  ,.-、   ,.-、   ,.-、   ,.-、     ,.-、      ,.-、    ,.-、
 と__)__) (,,■)  (,,■)  (,,■)  (,,■)    (,,■)      (,,■)   (,,■)
       梅干  高菜 おかか こんぶ ごはんですよ わさび漬け 焼たらこ
          ,.-、   ,.-、     ,.-、      ,.-、   ,.-、   ,.-、    ,.-、
          (,,■)  (,,■)    (,,■)     (,,■)  (,,■)  (,,■)   (,,■)
          鶏飯 明太子 ちりめんじゃこ ゆかり  柴漬  塩辛 牛肉しぐれ
      ,.-、   ,.-、     ,.-、    ,.-、    ,.-、   ,.-、    ,.-、   ,.-、
     (,,■)  (,,■)    (,,■)   (,,■)   (,,■)  (,,■)   (,,■)  (,,■)
      鮭 鶏ごぼう  野沢菜  天むす ツナマヨ エビマヨ 鮭マヨ 具なし
2009/06/26(金) 09:57:30
Browserのレンダリング内容を画面外含めてキャプチャしたいんだが、
どうもGC(windowsのDC)経由だとスクロールさせて画面をつながなきゃ逝けないみたいね。
キャプチャツールもみんなスクロールさせて繋いでるし。

まあそれならそれでいいんだが、Browserをスクロールさせるのはどうやればいいんだ?
browser.getVerticalBar();
はIEコンポーネント内のスクロールバーを取れてない気がする。
もしかして
browser.execute("window.scrollTo(0, 100);" );
しかないのだろうか
472471
垢版 |
2009/06/26(金) 10:26:00
>>471
Eclipseのニュースグループで自己解決した。
やっぱBrowser内のスクロールバーはIEコンポーネントの内部実装で、
(今のところ)そいつをBrowser越しにいじくることはできないらしい。

browser.executeが唯一の方法のようだ。
2009/06/27(土) 15:39:10
>>470
おっちゃん、おいらam/pmで売ってた「とり天」のがいい
2009/08/17(月) 17:49:55
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L

名言集 その4
『俺、100人規模の集団サイバーテロの主犯だったこともあるんだぜ』

http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ のID:PVAf+dux0 = 自動焼人 ★

> 965 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:02:09.35 ID:PVAf+dux0
> まぁ何だ。
> 俺の過去の経歴に比べたら、割れ厨なんて鼻くそレベルなんだけどなw
> 100人規模の集団サイバーテロの主犯とか、いろいろとな。


----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
にて自動焼人 ★までご連絡ください
475デフォルトの名無しさん
垢版 |
2009/09/04(金) 15:52:55
swtのbrowserでpostのリクエストを出す方法ってありますか?
2009/09/05(土) 08:13:51
Browser.exec() で JavaScript から POST を実行
477デフォルトの名無しさん
垢版 |
2009/12/19(土) 15:53:35
処理中もボタンの入力を受け付けたいのですが、
以下のコードだと処理を別スレッドにしてるのに固まってしまいます。
何が悪いでしょうか。

Display disp = new Display();
Shell shell = new Shell(disp);
shell.open();
Thread proc = new Thread() {
  public void run() {
    while (true) {
      try {
        Thread.sleep(1000);
      } catch (InterruptedException e) {}
    }
  }
};
disp.asyncExec(proc);
while (!shell.isDisposed()) {
  if (!disp.readAndDispatch()) {
    disp.sleep();
  }
}
disp.dispose();
478デフォルトの名無しさん
垢版 |
2009/12/19(土) 16:05:03
それ、別スレッドになってない。
asyncExecはUIスレッド内の適当なタイミングでRunnableのrunメソッドを実行するだけ。
2009/12/19(土) 16:49:09
そうなんですか。ありがとうございます。

普通にThread#start()使わないとダメってことですね。
処理状況をリアルタイムで画面に反映したかったのでasyncExecを使ったんですが、
画面更新はメインスレッドでやるようにします。

でも、それだとasyncExecって何のためにあるのかよく分からないですね。
2009/12/19(土) 16:54:04
ああ、理解しました。
startで起動したスレッドの中で、さらに画面更新処理スレッドを作って、
それをasyncExecに投げればいいってことですか。
2009/12/20(日) 23:55:23
つーか、widget類ってUIスレッドでしかいじっちゃいけないから、
並列で何かの処理をするスレッドのrunの中で、
asyncExec()を付かて画面更新用の処理を
行わないといけないと思ってたんだけど違う?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況