Java 高速GUI SWT 3

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

前スレ

Java 高速GUI SWT 2
http://pc8.2ch.net/test/read.cgi/tech/1068349883/
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()を付かて画面更新用の処理を
行わないといけないと思ってたんだけど違う?
2009/12/21(月) 21:11:44
正しい!
483デフォルトの名無しさん
垢版 |
2009/12/27(日) 12:25:30
java -classpath lib\swt.jar;lib\log4j.jar;lib\derby.jar;lib\swt_app.jar app.control.ApplicationMain
こんな感じのコマンドプロンプトのbatファイルを作って、
そこからSWTアプリを起動しているんですが、
それだとコマンドプロンプトのウィンドウも出たままになってしまいます。

もっとスタンドアローンっぽく、SWTのウィンドウだけ出したいんですが、
そう言う場合、どうやって起動すればいいのでしょうか?
2009/12/27(日) 13:09:34
javaw -classpath 以下略
485483
垢版 |
2009/12/27(日) 20:19:33
ありがとうございます。
javawへのショートカットを作って簡単にできました。

でも、ショートカットに作業ディレクトリを自分で設定しないといけないところが一つ難点です。
batならファイルのある場所が自動でカレントディレクトリになってくれるんですが。
486デフォルトの名無しさん
垢版 |
2009/12/29(火) 12:52:16
こんな感じでSWTで.exeを作成すれば、Windowsでも

ttp://www.okapiproject.com/richclient/eclipsercp/helloworld.htm
2009/12/29(火) 18:17:26
>>486
何的外れな事を…
2010/01/08(金) 17:03:19
startコマンドつかえ。
バッチファイル
start "" java -classpath lib\swt.jar;lib\log4j.jar;lib\derby.jar;lib\swt_app.jar app.control.ApplicationMain
489デフォルトの名無しさん
垢版 |
2010/01/15(金) 14:16:20
Swing の ActionMap/InputMap でできるようなショートカットを使いたいんだけど、例えば
ウィンドウのどこにフォーカスがあっても CTRL+S で保存メソッドが起動するようには
どうすればいいですか?
2010/01/24(日) 21:22:05
あるコンポーネントに描画されているグラフィックを、
別のコンポーネント上に描画するにはどうすればよいですか?
2010/01/25(月) 00:19:10
>>490 やったことないけど、3.4からControlでgetListeners()使ったPaintListenerの取得とか、
print()とか、できるようになったから試してみたら?
2010/01/25(月) 12:45:18
>>491
すまん、スレまちがえた
SWINGスレで質問したかったんだよ。。。
493デフォルトの名無しさん
垢版 |
2010/01/28(木) 22:19:28
TextCellEditorを設定したセルをクリックするとそのセルだけ幅が広がり、
となりのセルを隠してしまいます。そのとなりのセルをクリックしたい
場合は一度関係ない場所をクリックしてセルからフォーカスをはずさなければ
なりません。なのでセルをクリックした時に自動的に幅が広がらないように
するにはどうすればいいでしょうか?
494デフォルトの名無しさん
垢版 |
2010/01/29(金) 13:25:34
>493

もう自分で答え言っているのでは?
Textが自動で広がらないようにする→自動で広がるコードを探す
→そこをoverrideする

(ヒント) SWT.DEFAULT

495デフォルトの名無しさん
垢版 |
2010/01/29(金) 21:59:13
>>494さん。
すいません、バカなので解らないのですが、TextCellEditorを継承したクラスを
を自分で作成するのでしょうか、それともどこかにSWT.DEFAULTを指定すれば、
目的が達成されるのでしょうか。
496デフォルトの名無しさん
垢版 |
2010/01/30(土) 12:00:12
>>494さん
解決しました。ありがとうございました。
public LayoutData getLayoutData() {
LayoutData result = new LayoutData();
result.minimumWidth=0;
return result;
}
2010/02/09(火) 22:59:11
SWTでのUIの設定値を全て外部の(例えばXMLなど)ファイルに
持たせて、そのファイルの設定値をいじればいくらでも改変可能なんて作りって
出来るんですかね?
2010/02/09(火) 23:11:47
そう作ればいくらでも出来るだろ。
2010/02/10(水) 00:08:20
じゃぁやってみせろよ
2010/02/10(水) 00:23:01
いくらで?
2010/02/10(水) 00:29:28
正直に言えよ、「できません」って
2010/02/10(水) 20:17:14
おとなしくe4入れてXWTつかっとけ
2010/02/10(水) 22:56:46
tableviewerで質問させてください。

csvファイルで読み込んだデータをテーブルに追加する処理を作成中なのですが、
カラムの数が固定ではなく可変の場合の処理がうまくいきません。

一定の領域を事前に確保しておいて、その領域にカラムを登録する場合なら
問題なかったのですが、制限なく登録できるようにしたいのです。

tableviewerのことがのっているサイトを見ても
カラム数が固定となっているものばかりで、1週間ほど悩んでいます。
どうすればカラムが可変でも問題なくなるのでしょうか?
2010/02/11(木) 18:31:46
import java.swing.*;

インポートで*を使うデメリットは何かありますか?
2010/02/11(木) 18:36:36
誤爆しました・・・
2010/02/27(土) 02:18:23
ウィンドウをリサイズしたときに SashForm の左の領域幅を変えたくない
んだけどリサイズウェイトってどうやって指定するの?
JSplitPane#setResizeWeight() みたいなのがあれば良いんだけど。
2010/02/28(日) 22:04:00
欲しいものの代わりに自分で計算して、ちまちま再描画だろう。
もし出来たら、公開しとくと、他にも欲しい人が居るかもね。
2010/03/01(月) 04:40:07
ありがとう。回答あるまで待ってみたが、無いと分かれば安心して自分で作れますわ。
というかさっき出来て Wiki に書いておいたので 1 ヶ月もすれば検索ひっかかるかも。
2010/03/03(水) 05:15:44
ToolTip の豪華版が必要なので SWT.NO_TRIM の Shell でそれっぽいのは出来たんですが、
open したときにフォーカスを持って行ってしまいます。フォーカスを持って行かずに
オープンする方法はないでしょうか。
2010/03/06(土) 05:24:56
やってること:
通常 → 複数行入力
一行入力モード ON → ENTER キーが押されたら処理開始

Text (SWT.MULTI) に KeyListener 仕掛けて ENTER キーが押されたら処理をしようと思ったんだけど
日本語入力中に確定の ENTER 押しても反応してしまうのよ。入力中かどうか判定する方法はない?
2010/03/06(土) 08:56:51
Eclipse で日本語入力後に [CTRL]+[Z] 押した時の挙動を見てると、IME の未確定状態も全部
入力として拾ってるみたいだから無理かもしれんね。
2010/03/07(日) 19:06:30
TreeItem の項目を右クリックした時に状況に応じたポップアップメニューを出すよう
作ってるんだけど、どうしても選択とセットになってしまう。 MouseEvent には doit
がないし、選択項目を移動しないで右クリックのイベントだけ拾う様な方法はないですか?
2010/03/09(火) 11:37:14
>>512
ポップアップメニューをPopupMenuListener#popupMenuBecomeVisibleで加工する。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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