Java 高速GUI SWT 3at TECH
Java 高速GUI SWT 3 - 暇つぶし2ch250:デフォルトの名無しさん
07/12/08 17:03:42
SWTの本会社に置いといたら「本あるんだ!」ってびっくりされた。
あるよ!超あるよ!!

ごめん。超は嘘。

251:デフォルトの名無しさん
07/12/08 17:51:03
SWTは(Sunが決めた)標準じゃないといわれても、
Eclipseを使ってるとそれほど気にならないんだよなあ。
ドキュメントなら、SWTのサイトにAPIリファレンスもサンプルが転がってるし。

252:デフォルトの名無しさん
07/12/08 18:00:53
実際もうネイティブであるアドバンテージもあまりないんだよな。
Pure Java で Swing の Look & Feel として動く層と、
Browser のようなネイティブ機能使う低レベルコンポーネント集の 2 層構成で良いよ。

253:デフォルトの名無しさん
07/12/08 18:14:35
それをいっちゃー、Javaにこだわる必要もないなあ、という結論になりそう。

254:sage
07/12/08 18:51:08
ネイティブであるアドバンテージはプログラマーでなく、
お客様(ユーザ)が判断するもの。
『ナにこれ?このファイルダイアログ見掛けが変だよ~。
全部やり直してよ~。
それまで、お金払わないよ』
っていわれれば 乙。

255:デフォルトの名無しさん
07/12/08 20:19:31
>>254
sageはメル欄ね。

256:デフォルトの名無しさん
07/12/08 20:38:26
ぶっちゃけファイルダイアログ以外はSwingでいいかなと思ってる。

257:デフォルトの名無しさん
07/12/09 00:53:49
Windowsプログラマのオレにとっちゃ、SendMessage関数 が使えるSWTは神に思える。

258:デフォルトの名無しさん
07/12/09 01:10:45
それが使えりゃいい程度なら JNI で作れば良いじゃんと思う今日この頃。

259:デフォルトの名無しさん
07/12/09 23:54:22
日本ってJFaceの情報少ないよね。

>>258
話が飛躍しすぎ

260:デフォルトの名無しさん
07/12/09 23:59:06
おまいには SendMessage() アダプタ一つ JNI で組むのがそんなに難しいのか?

261:デフォルトの名無しさん
07/12/10 02:32:29
Javaで書けるのがいいんじゃね?

262:デフォルトの名無しさん
07/12/10 03:01:45
いや特定の Win32 API 使いたいために SWT 選択するくらいなら、そのアダプタ (ブリッジか) JNI
一回作ってしまえば後は AWT なり Swing なり何なり好きなもの選択できるじゃんという話。
そんなに難しいことは言っていない。元の人は Windows プログラマなんでしょ?

263:デフォルトの名無しさん
07/12/10 09:35:42
そのアダプタかなんかを作って維持する手間が
馬鹿にならないんじゃない?
Windows以外でアプリを走らせることを
想定してないみたいだし。

264:デフォルトの名無しさん
07/12/10 16:59:56
維持? CVS の片隅に塩漬けにしておくのがなんか手間か?
それとも SendMessage() が Win に SP 当てるたびに挙動変わるようなものだと思ってる?

265:デフォルトの名無しさん
07/12/10 17:13:27
聞いているのに聞き返すなよw

266:デフォルトの名無しさん
07/12/10 17:25:17
わかったわかった

アダプタかなんかを作って → C のソースで 10行? 20行?。フリーの C コンパイラ落とす方が手間なくらい。
維持する手間 → 一回作ればほぼ変更不要。JDK1.1→1.2 の大改革が起きたときくらい?

だから、SendMessage() が使えるから神というなら自分で作る方が選択肢広がるんじゃね、と思った次第。

267:デフォルトの名無しさん
07/12/10 18:51:37
SendMessage()だけじゃ使えない。
os.eclipse.swt.internal.w32.*
はどこかから持ってこれるのか?

268:デフォルトの名無しさん
07/12/10 18:59:55
話勝手に膨らませてないか?
SWT の Win32 API 機能フルで使えないと認めないと言う話?

269:デフォルトの名無しさん
07/12/10 19:05:53
>>257じゃないから分からんけど、

SendMessage()を使うんだったら、それにまつわるメッセージ定数やら
WPARM, LPARAMにパラメータをパックする仕掛けやらを期待するんじゃないのか。


270:デフォルトの名無しさん
07/12/10 19:22:26
うーん確かにそうだが、SendMessage() 程度ならどう転んでも 2~3 時間も作業すれば
十分な気がするんだが。以後何年かは使えそうなのが。

パラメータはメッセージ元と先の取り決めだから Java の呼び出し側でバイト配列組み立てれば良いし、
JNI 側は DWORD とバイト配列を選択的に受け取れる口にしておけばいいし。定数と
パラメータバイナリ組み立てのためのユーティリティ機能を Java 側で用意して、あとなんかあるか?

271:デフォルトの名無しさん
07/12/10 19:35:41
多分、自分で使う部分を実装して、必要に応じてちょこちょこ手を入れる、
と言うことになると思う。後は、そーいう諸々の作業(仕様を考えて、
実装して)をする手間と、swtのを使う手間とを天秤にかけてください。


272:デフォルトの名無しさん
07/12/10 23:17:33
車輪の再発明してもしょうがないだろ。既にあるならそのまま使っときゃいいじゃん

が、SWT自体がAWTの再発明という罠

273:デフォルトの名無しさん
07/12/10 23:22:18
車輪を使いたいために車を買うのはどうかという話をしてんの。

274:デフォルトの名無しさん
07/12/10 23:25:18
>>273
だれがうまいこと言えと(ry

275:デフォルトの名無しさん
07/12/11 16:56:10
>>272
これを車輪の再発明とはいわない

276:デフォルトの名無しさん
07/12/11 17:27:52
程度の問題だな
jpgやzipのデコードエンジンを作るとかならともかくSendMessageするJNIを作る程度なら
SWT頼るよりはJNI組んだ方がよさそうだ
まぁ最初からSTWでコードを組んでるならともかくSendMessageのためにSWT使うのは本末転倒してるな

277:デフォルトの名無しさん
07/12/11 18:37:57
まあ落ち着け。何でそんなに必死なんだ。


278:デフォルトの名無しさん
07/12/11 19:12:20
まぁ、SWTはIBMのスーパープログラマーが作っているから
N●◎データや日立△▲で派遣で働くプログラマーよりも信頼性高い
ことは確か・・。

279:デフォルトの名無しさん
07/12/11 19:20:24
Inter○tageとか使いたくないよ。Grassfishとかで普通に作りたいなぁ。
ネットにノウハウの少ないマイナーフレームワークなんて使用者からすれば地獄だねorz

280:デフォルトの名無しさん
07/12/11 19:26:06
あ、一応ここはGUIネタじゃなきゃスレ違いだったかな

281:デフォルトの名無しさん
07/12/11 20:45:23
すげ~~~!
SWTを2~3時間で作れるって、>>270 は天才だな。
つか、おまい、SWTのソースコード見たこと無いだろ。
つか、おまい、SWTでプログラミングしたこと無いだろ。
どうだ?図星だろ?

くやしかったら3時間でSWT作ってミロや。
いや、3時間なんてケチな事は言わん。3週間やるからSWT作ってミロや。

匿名掲示板だからっていい加減なこと書くなよな。
どうせ半べそかいて逃げるんだろ?

282:デフォルトの名無しさん
07/12/11 20:48:04
バカが出たぞー

283:デフォルトの名無しさん
07/12/11 21:34:00
時代はバカアゲ!とか言い出しそう。

284:デフォルトの名無しさん
07/12/11 22:45:11
おお、SWTスレがあがってる!
と思って見にきてみたら・・・・・

285:デフォルトの名無しさん
07/12/11 22:53:19
久しぶりに盛り上がり(?)ネタが 「SWT 使うほどじゃネェんじゃね?」 じゃな…

286:デフォルトの名無しさん
07/12/12 00:18:02
釣りだろ?常識的に考えて・・・

287:デフォルトの名無しさん
07/12/12 09:53:28
>>285
いやいや、アンチの言い分がわかって面白かった。


288:デフォルトの名無しさん
07/12/12 18:05:41
>>281の発言は永久保存だな。

289:デフォルトの名無しさん
07/12/13 00:49:39
>>266
>一回作ればほぼ変更不要。

ほんとうに一回作れば変更不要だったらいいんだがな

290:デフォルトの名無しさん
07/12/13 00:51:13
それはビビリすぎ。

291:デフォルトの名無しさん
07/12/13 01:14:40
で?
>>270 は尻尾を巻いて逃げたのかい?
大風呂敷を広げてみっともないねぇ。

292:デフォルトの名無しさん
07/12/13 01:16:47
バカが出たぞー

293:デフォルトの名無しさん
07/12/13 01:18:49
>>291はまだ自分のバカさに気付いてないのか
気付いたら恥ずかしくて帰ってこれないだろうに

294:デフォルトの名無しさん
07/12/13 01:51:02
ねぇまだ?
2~3時間でできるんだろ?

295:デフォルトの名無しさん
07/12/13 01:53:35
どこまでがんばれるか、彼の今後の活躍にご注目ください。

296:デフォルトの名無しさん
07/12/13 02:14:18
どう頑張ってもSWTを2~3時間で作るのは無理だろ。

297:デフォルトの名無しさん
07/12/13 08:07:28
SWTを2~3時間で作るなんていう話がどこででてるんだよw

298:デフォルトの名無しさん
07/12/13 11:47:15
SendMessageはSWTの肝だろ。そんなものを2~3時間で作れるっていうなら見せて欲しい

299:デフォルトの名無しさん
07/12/13 14:59:41
JNIは全く使ったことがなかったんでJNIの入門HP見ながら書いたけど
ホントにSendMassage呼び出すだけのコードだけど20分ぐらいで出来たよ?
まぁこのままじゃマトモには使えないんでSendMassageで何をしたいのかの用途に合わせてコーディングした方がよさそうだけど

--WindowsAPI.java
public class WindowsAPI{
 static{
  System.loadLibrary("WindowsAPI");
 }
 public WindowsAPI(){
 }
 public native int SendMessage(int hwnd,int msg,int wparam,int lparam);
 }
--

--WindowsAPI.c
#include <windows.h>
#include <jni.h>
#include "WindowsAPI.h"
#include <stdio.h>
JNIEXPORT jint JNICALL Java_WindowsAPI_SendMessage(JNIEnv *env, jobject obj, jint hwnd, jint msg, jint wp, jint lp){
 return (jint)SendMessage((HWND)hwnd,(UINT)msg,(WPARAM)wp,(LPARAM)lp);
}
--

300:デフォルトの名無しさん
07/12/13 15:01:09
つか書いてる時間よりも入門HP読んで勉強してる時間の方が長かった

301:デフォルトの名無しさん
07/12/13 15:04:24
Swingが自前で描画している、OSにはウィンドウと認識されていないような子ウィンドウに
SendMessage()を送ったときの効果を再現してくれるアダプタだかなんだかは?

302:デフォルトの名無しさん
07/12/13 18:05:50
>>299
で?
たったそれだけでWindowsアプリが書けるとでも思うの?
何の役にも立たんゴミ書いて満足?

303:デフォルトの名無しさん
07/12/13 18:20:48
>>299
SendMessageを使う部分がJavaアプリケーションのどれくらいの部分になると思ってるんだ??
Windowsガチイガチアプリが書きたきゃ、C#で書いた方が楽だろう?

304:デフォルトの名無しさん
07/12/13 18:28:05
そんな、3時間過ぎたからって、みんなして責めなくても。
3日くらい待てば、>>299はきちんとした仕様と実装を作ってくれるんだよ。きっと。


305:デフォルトの名無しさん
07/12/13 19:19:30
>>299
それ使って Hello world! って表示できるの?

306:デフォルトの名無しさん
07/12/13 19:24:52
納得できないなら納得できないやつが納得できるまで自分で書けばいいんじゃね?
取り合えずSendMessageを呼び出すだけなら確かに呼び出してるし

307:デフォルトの名無しさん
07/12/13 19:37:40
書く必要無いよ。だって既に完成品があるんだもん。SWTが。
とりあえず、じゃやなくて、役に立つか立たないか、が問題だね。
学生が学習の為に実験的に書いたのを誇らしげに「どうぞ使ってください」って言われてもねぇ・・・

308:デフォルトの名無しさん
07/12/13 19:40:02
役に立つかどうかの前に、スレ違いかどうかを問題にしてくれ。

309:デフォルトの名無しさん
07/12/13 19:55:47
>>306
SWTではSendMessage()使える → SendMessage()くらい自分で用意してSwing使え
→ そんなの作れるのか?という流れだから、
SwingでGUIを作ったときに、そのウィンドウにSendMessage()できなきゃだめ。

310:デフォルトの名無しさん
07/12/13 20:04:56
>>309
URLリンク(java.sun.com)

311:デフォルトの名無しさん
07/12/13 20:13:35
>>310
ポインタを示すんじゃなくて、自分の言葉で言えない?

312:デフォルトの名無しさん
07/12/13 20:15:47
>>311
ひょっとして、読んでも理解できないのか?

313:デフォルトの名無しさん
07/12/13 20:29:25
>>312
おー。理解できんよ。

HWNDがSwingから利用できるところにあるって情報だけじゃん。

SwingのウィンドウがHWNDもってるか、とかまったく書いてないのに、
どうやってSwingのウィンドウにSendMessage()できるかどうかわかるんだ?

314:デフォルトの名無しさん
07/12/13 20:34:57
>>313
教えてほしいなら AWTスレか JNIスレで質問してくれ。
とりあえず SWTスレで続けるのはスレ違いだから。

315:デフォルトの名無しさん
07/12/13 20:41:01
はいはい。使い物になるSendMessage()はSwingでは無理、ということで落着。


316:デフォルトの名無しさん
07/12/13 20:54:13
sunのドキュメントを読んでも理解できない程度の技術力の奴が
よく結論出せるなー。

317:デフォルトの名無しさん
07/12/13 21:17:15
なんだ、勘違いに気づいたバカが無理やり仕様広げて自分に有利な結論導いたのかw

「それでは使い物にならない」

しかもバカがまったく隠せてないというオチ

318:デフォルトの名無しさん
07/12/13 21:40:24
言い負かされた老害エンジニアがよく使う手。

319:デフォルトの名無しさん
07/12/13 22:11:41
何だコリャ。実証コードが出たとたんに必死の自演叩きかw
sage と半角使い分ければ他人になれるとでも思ったのか。

320:デフォルトの名無しさん
07/12/13 23:13:28
で。
ネイティブAPIをちょっと使うだけならJNIとかでバインディングぐらいさっさと書けばいいものを、SWTをフル実装するような話に膨らませてるのは結局何が主張したかったんだ?
そもそもSWTのSendMessageなんて非公開クラスのメソッドだろうに。

321:デフォルトの名無しさん
07/12/13 23:35:12
キチガイが粘着してるだけなんだからスルーしろよ…

322:デフォルトの名無しさん
07/12/14 02:26:09
なあ、SWTの存在意義ってSendMessageだけになってしもたん?

323:デフォルトの名無しさん
07/12/14 04:25:11
他になにか?

324:デフォルトの名無しさん
07/12/14 04:47:22
それすら隠し API 扱いだし。

325:デフォルトの名無しさん
07/12/14 10:17:00
>>322
なんちゃってじゃない、ネイティブL&Fだろう。



326:デフォルトの名無しさん
07/12/14 21:03:58
public 宣言されてるのに 隠しAPI とはバカまるだし。

さぁ早く早く。>>299 のコードを利用して "Hello World" をウインドウに表示してみろやクズども!

327:デフォルトの名無しさん
07/12/14 21:23:14
>>281,291,294,296,302,305,307,326
そのままコテハンでも付けてくれると無視しやすくて嬉しい。

328:デフォルトの名無しさん
07/12/15 07:27:33
ほんと不毛だな

329:デフォルトの名無しさん
07/12/17 12:10:43
「SendMessage 使える」ってのを、
「SWT のコントロールは Windows のウィンドウだから SendMessage でメッセージ送って
いろんなことができる」じゃなくて、文字通り「SendMessage API が呼び出せる」と解釈して
しまった人がいた、というだけのことでそ・・・

Windowsあまり使わない人が読めば後者の意味にしかとれないだろうし。

330:デフォルトの名無しさん
07/12/17 12:22:32
SendMessage ベースのメッセージドリブン設計が好きなら素直に VB でも使っとけよと。

331:デフォルトの名無しさん
07/12/17 15:18:11
>>329
いや、Windows使ってた奴が >>310 の文書読んで理解できないって事はないでしょ。

332:デフォルトの名無しさん
07/12/17 15:21:21
×Windows使ってた奴
○Win32 API使ってた奴

>>301 も Win32 API 使ってた奴の発言とは思えんし……

333:デフォルトの名無しさん
07/12/19 15:25:31
>>205
亀レスだけど。
BrowserにSWT.V_SCROLLスタイルけると、2重にスクロールバー付いたりして、うまく動かないねえ。

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.browser.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.events.*;

public class SimpleBrowser {
public static void main(String[] args) { new SimpleBrowser(); }
public SimpleBrowser() {
Display d = new Display();
Shell shell = new Shell(d);
shell.setLayout(new FillLayout());

Browser browser = new Browser(shell, SWT.V_SCROLL);
browser.setUrl("URLリンク(www.google.co.jp)");
browser.getVerticalBar().addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) { System.err.println(e.y); }
});

shell.open();
while(! shell.isDisposed()) if(! d.readAndDispatch()) d.sleep();
d.dispose();
}
}


334:デフォルトの名無しさん
08/01/22 16:52:01
Shellクラスを作成するときにSWT.CLOSEを指定しなくても閉じるボタンがでます。
閉じるボタンを無効化するにはどうすればいいのでしょうか?

335:デフォルトの名無しさん
08/01/22 21:01:45
Display display = new Display();
Shell shell = new Shell(dislay, SWT.TITLE);
shell.setText("hoge");
shell.open();


336:デフォルトの名無しさん
08/01/23 16:50:45
>>335
SWT.MINやSWT.MAXを指定すると自動で閉じるボタンがついてしまうようでしたが、
SWT.TITLEだけにしたらできました。
ありがとうございます。

337:デフォルトの名無しさん
08/02/01 19:54:37
いきなりですけど、C++からSWTを使う方法ってありますか?
調べた範囲ではJNIを使えばできそうかなと思うんだけど、
もっと簡単に使う方法とかないかな。


338:デフォルトの名無しさん
08/02/01 20:50:33
C++からSWTって無理なんじゃないの?
できたとしても、マルチプラットフォームにならず、
特定のプラットフォームに依存したものになりそう・・。

339:デフォルトの名無しさん
08/02/01 21:31:28
素直にC++ベースのGUIライブラリ使えよ。
マルチプラットホームにしてもQtとかwxWidgetsとかあるんだから…

# とか書いておいてなんだけどぐぐったらこんなの出てきた。動くかどうかは知らんが。
# URLリンク(www.pure-native.com)

340:デフォルトの名無しさん
08/02/24 22:01:02
Swingスレとマルチで失礼します。

RTF文章を何らかの形で表示(編集できなくてもOKです)させたいと思い、SWT_AWTを経由してSwingのJEditorPaneを使ってみたのですが、
実装があまりにも古すぎてJREに同梱されているLICENSE_ja.rtfすらマトモに読めない、という情けないことになっています。
一応他に何らかの代替/回避方法はないかSwingスレで聞いてみましたが、SWT側でなんらかの形でRTFを表示させる方法はないでしょうか?
多少ググって見たのですが、どうも一字毎に文字列・書式を解釈する、という方法しか引っかかってこないようです

341:デフォルトの名無しさん
08/02/25 11:25:25
>>340
sourceforge.netでjava rtf libraryで検索かけたら
いろいろ出てきたので有用なのもあるかもしれん

342:340
08/02/26 10:25:50
>>341
お返事ありがとうございます。
うーん、この辺を利用or参考にして、自分でパースしていくしかないのかなぁ……。
単にRTF文章をSWT上で表示させたいだけなんですけどね(苦笑)

343:デフォルトの名無しさん
08/02/28 23:04:26
SWTでComposite内にGroupを作成し、Tab順を指定するプログラムを作っているのですが
Compositeのコンストラクタ内にthis.setTabList(new Control[]{ボタン,テキスト}の
ようにしてもComposite内に配置してあるコンポーネントはTab順が決めれるのですがGroup内の
コンポーネントをControl[]の配列に入れるとエラーが出てしまいます・・・・
何か良い方法ないでしょうか・・?
宜しくお願いいたします

344:デフォルトの名無しさん
08/02/29 00:06:06
このケースは親子関係のないコントロールを指定しているために
エラーが発生します。
Compositeに関してsetTabList()メソッドを指定して引数にGroupを要素に含む配列を
指定し、再度、Groupに関してもこのメソッドを使用しそのGroup内の
コントロールを指定します(GroupクラスはCompositeクラスを
継承しているのでこのメソッドが使用できます)。そうすれば、
もしもGroupにTab
のトラバーサルが来たときにはGroupはコントロールの性質上フォーカスを
もてないので、その子のコントロールにフォーカスが移ります。その順序は
Groupに対してメソッドで指定した順序、メソッドを使用していなければ
OSでのデフォルトの順序になります。

345:デフォルトの名無しさん
08/03/11 09:55:36
CoolBarの前回の使用状態を復元したいのですがどのような方法をとるのが適切でしょうか?

346:デフォルトの名無しさん
08/03/11 17:55:08
使用状態とは?
復元とは?
具体的にどう復元したい?

347:デフォルトの名無しさん
08/03/11 18:05:56
位置のことです。
移動ができるのでその移動した状態に復元したいのです。

348:デフォルトの名無しさん
08/03/11 19:06:41
CoolBarクラスの
getItemOrder(), getItemSizes(), getWrapInduces()
setItemLayout()
を使用すると保存と復元は可能。

349:デフォルトの名無しさん
08/03/11 19:45:16
自分で保存しないといけないんですね。
XMLEncoder,Decoder的な便利なものがないのかなと思ったのですがそうもいかないですか。
ありがとうございました。

350:デフォルトの名無しさん
08/03/11 23:00:25
SWT & JFaceの必須ライブラリって今変わってるんでしょうか?
かなりの時間かけてほぼ総当たりで調べてようやく分かったのですが他に分からない人が出てきた場合のために・・・

/plugins/org.eclipse.swt.win32.win32.x86_3.3.3.v3349.jar
/plugins/org.eclipse.jface_3.3.2.M20080207-0800.jar
/plugins/org.eclipse.equinox.common_3.3.0.v20070426.jar

JFaceのソース
/plugins/org.eclipse.rcp.source_3.3.3.r33x_r20080129-8y8eE9UEUWI6qujeED0xT7bc/src/org.eclipse.jface_3.3.2.M20080207-0800/src.zip

優しさと見せかけて自分メモでした。
すみません。

351:デフォルトの名無しさん
08/03/12 00:46:27
Mavenで取ってこれないか?

352:デフォルトの名無しさん
08/03/12 04:01:49
>>350
いや、こうやって記録残してくれると助かるよ。
例え助かる人間が一人や二人でも、それに掛かる時間がすごい短縮できるから。
俺もウザがられつつも、残すようにしてる。

353:デフォルトの名無しさん
08/03/15 12:02:18
JiglooのSWTエディタ使ってる人いる?
使い方が悪いのかもしれないけど、Swingに比べてバグが非常に多くない?

354:デフォルトの名無しさん
08/03/26 01:47:07
JDesktopPane に対応する SWT のコンポーネントって何?

355:デフォルトの名無しさん
08/03/28 03:09:48
メッセージループなんて 10 年ぶりだよ!
ちょっと感動。

356:デフォルトの名無しさん
08/04/08 19:35:01
ネット証券で提供してるjiniツール。winとmacで動くって聞いたからlinuxでも動くかと思ったらSWT使ってて動かないでやんの
まったく厄介なものを作ってくれたぜ
とりあえず愚痴ってみる

357:デフォルトの名無しさん
08/04/08 20:25:52
Jini とは珍しいもの使ってるな。ウヤラマシイ

358:デフォルトの名無しさん
08/04/08 20:38:08
うはjnlpと間違えてた

359:デフォルトの名無しさん
08/04/11 02:37:57
よくわかんないのですが、SWTってLinuxでも動くんじゃないんですか?

360:デフォルトの名無しさん
08/04/11 10:57:42
JavaでWORAが実現するんだ、と目を輝かせていたあの頃……

361:デフォルトの名無しさん
08/04/11 11:05:34
>>360
騙されやすい人もいたもんだ……

362:デフォルトの名無しさん
08/04/11 12:50:10
具体的に何が動かねぇのよ?
どこまで Java が吸収してどこまでプログラマが意識しなきゃいけないか
分かってない奴が、自分のバグと無知識の言い訳にしてる事の方が多いんだが。

363:デフォルトの名無しさん
08/04/11 13:41:33
知識は囲い込むべきではない

364:デフォルトの名無しさん
08/05/05 13:28:45
>>360
少なくともWebアプリの分野では完全に実現されてるぞ。
Winで開発、Linuxで運用とか当たり前のようにしてるからな。

まぁ、PHPやRubyでも簡単に実現されてるが。

365:デフォルトの名無しさん
08/05/13 03:20:17
まあ、デバイスも扱わずスレッドも使わないならできて当然でもある。
それでもファイルの扱いとか、どこでも同じ環境というのにJavaには及ばないな。

366:デフォルトの名無しさん
08/05/13 16:42:50
しかし、JavaはGUIに弱いことは明らか。
Swingのファイルダイアログは遅すぎ・・。
やはり、Swingの最大の失敗はlook & feelと
ネイティブリソースを使えないことだな。
Windows Vistaが出たことで決定的になった。


367:デフォルトの名無しさん
08/05/13 16:49:15
ファイルダイアログが遅くなったのはJava6SEでFileが遅くなったからなので、look&feelとネイティブリソースとは関係ない話だね。
GUIに弱いことをあらわす事例にならんね。

368:デフォルトの名無しさん
08/05/13 17:11:21
>>367
GUIに弱い事例になるだろ。
u2から悪化していまだに放置だけど、u1までは普通に動いていたのだから。

ネイティブとは関係ないけど。
とはいえSwingで問題になりやすいのはそれくらいか。java.awt.Desktopのバグバグ問題はどーしようもないけど。

369:デフォルトの名無しさん
08/05/13 17:59:06
> java.awt.Desktopのバグバグ問題
具体的にどーぞ

370:デフォルトの名無しさん
08/05/13 18:07:31
>>366
スレ違い。ここはSWTスレ。

371:366
08/05/13 23:17:00
要するに、
Swingとは違い、SWTのファイルダイアログは優れているということを
言いたかったのだ。
URLリンク(www.eclipse.org)
SWT3.4でもフファイルダイアログに関する上書き確認のAPIが実装されるらしい。

SWTがSwingを追い越す日も近そうだ。


372:デフォルトの名無しさん
08/05/13 23:34:13
SWTはWindowsで使うぶんには使いものになるよな

373:デフォルトの名無しさん
08/05/14 03:58:12
使えるけど、開発する側にはまわりたくないのがSWTってところかと

374:あぼーん
あぼーん
あぼーん

375:デフォルトの名無しさん
08/05/24 13:20:07
Windowsだけってのはねぇ・・・・
>>366
Swingのチェックもしてますか?SWTだけだと厳しいぞ、この先生きてくの。
SWTは、eclipseではうまく動いてるけど、アプリ作って配信して動かすとかまで考えると
PureJavaの方が・・・・っていう話もあるんだぞ・・・

UIが弱いというのは否定しないがね、SWTも含めてになっちまうが。

376:デフォルトの名無しさん
08/06/14 01:42:48
SWTってアンチエイリアシングできないの。

377:デフォルトの名無しさん
08/06/18 03:01:35
わたしもSWTのアンチエイジングで肌年齢が13歳若返りました

378:あぼーん
あぼーん
あぼーん

379:デフォルトの名無しさん
08/06/20 09:57:17
2chで住所晒されてるなんて悲惨だな

380:デフォルトの名無しさん
08/06/23 22:05:16
>>67,70,71
だいぶ前の話になるけど、ProjectionViewerをスタンドアロンで
使用するのは、WorkbenchPartとかを継承してる時点で無理なんじゃないかな。

WorkbenchPartはUIをXMLとかで定義するので、SWT/JFaceのスタンドアロンアプリとは
作りが全然違うしね。

381:使用書無しさん
08/06/23 23:48:14
おいぼんくらswt廚
swtでこれ URLリンク(jdrafter.sakura.ne.jp)
に匹敵するプログラム作ってみろ。これswingベースだ出来るかばか
頭でっかちのswt廚のばか

382:デフォルトの名無しさん
08/06/25 01:27:35
>>381
おお、swingでこれは頑張ったな。
お前つくったん?

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

うん、やりたくない。

で、Swing上で動くことの利点はなんだ?
ブラウザ上でアプレットで動かして、共同作業とかできたりするの?

383:デフォルトの名無しさん
08/06/25 12:36:10
>>382
Swingスレでもおなじのはってけなしてるから
SWTだからとかはかんけーねーぞ

GKのいつもの手だ

384:デフォルトの名無しさん
08/06/25 12:40:48
>>382
釣られすぎ

385:使用書無しさん
08/06/26 22:54:53
>>383 >>381はswingベースだよ。
描画と編集を受け持つクラスもJComponentのサブクラスだから、アプレットでも
簡単に表示と画像編集が可能だよ。



386:デフォルトの名無しさん
08/06/27 04:14:24
>>385
日本語理解しろ

387:デフォルトの名無しさん
08/06/28 11:42:19
>>386

何興奮してるんだ?

388:デフォルトの名無しさん
08/06/28 16:35:29
超初心者で申しあけございませんが、
画像を複数枚表示させたら画像がちらつきます。
repain();でもちらつきます。
どの言語を打ったら直るのでしょうか?

389:デフォルトの名無しさん
08/06/28 20:53:51
>>387
糞コテハン乙

390:デフォルトの名無しさん
08/06/28 23:30:03
ProjectionViewerをスタンドアロンで動かせるようになったよ。
ただ、折りたたみをしようとするとおそらく描画スレッドで
例外(NullPointerExceptionだったかな)が発生して
普通のエディタとしてしか使えないんだけど、一応報告まで。

391:あぼーん
あぼーん
あぼーん

392:使用書無しさん
08/06/30 00:54:26
>>388
javaのバージョンはいくつ?
componentと同じサイズのVolatileImageつくってそれのGraphicsをクリエートして
それに画像書き込んだあと、コンポーネントにdrawImageするっていう古典的な方法
を試してみたら。


393:あぼーん
あぼーん
あぼーん

394:デフォルトの名無しさん
08/07/09 22:58:04
SWTってOS依存だっけ?

395:デフォルトの名無しさん
08/07/10 02:04:58
うむ

396:あぼーん
あぼーん
あぼーん

397:デフォルトの名無しさん
08/07/14 23:46:42
うむ

398:デフォルトの名無しさん
08/07/20 22:07:38
スレリンク(tech板:381番)


399:デフォルトの名無しさん
08/07/21 01:14:00
クソコテ

400:デフォルトの名無しさん
08/07/22 21:26:28
TextSS


401:デフォルトの名無しさん
08/07/27 02:33:28
SWTでwindows向けに作成されたGUIアプリは、Linuxでは動作しないという理解でOKですかね?

402:デフォルトの名無しさん
08/07/27 04:15:09
いやうごくだろ。
OLEとか使ってなければ。


403:デフォルトの名無しさん
08/07/27 05:25:34
Windows向けということはSWT汎用ではないだろうから動かないのは当たり前かと

あとLinuxでも動くといってもSWTがサポートしてある環境じゃないとダメ
すべてのLinuxで動くわけじゃない

404:デフォルトの名無しさん
08/09/12 17:30:57
SWT を使ったサーブレットを作ったのですが、シェルを表示しようとすると
落ちてしまいます(Tomcat ごと)。

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

ちなみに落ちちゃうのでエラーメッセージとかはないです…。

405:デフォルトの名無しさん
08/09/12 18:25:42
ニュースサイトなどで定期的に更新される画像を指定した時間ごとに取得して、
保存・蓄積していくようなものを作りたいんです。
その上で、ブラウザ上でのクリックなどで画像を指定すれば取得できるようにしたいんです。

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

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


406:デフォルトの名無しさん
08/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 ();
}




407:デフォルトの名無しさん
08/09/12 21:09:57
>>406
すみません、語弊がありました。

落ちるというのは Java のプロセスが異常終了する、という意味です。

408:デフォルトの名無しさん
08/09/13 02:57:47
>>404
OSも書かないし、JavaやSWTやTomcatのバージョンも書かない、サンプルコードもない。
エスパーの存在を信じてるんだな…

409:デフォルトの名無しさん
08/09/13 17:22:42
なんでサーバ上にGUIを表示させようと思ったのか気になる

410:デフォルトの名無しさん
08/09/14 10:58:46
なんでサーバ上にGUIを表示させようと思ったのか気になるのかが気になる

411:デフォルトの名無しさん
08/09/14 12:20:25
>>404がなにをしたいのかわからん

412:デフォルトの名無しさん
08/09/14 22:21:37
>>408
MacOS 10.5、Tomcat 5.5、SWT 3.3 になります。

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

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

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

すみません、すぐ出かけなければならないのでまた今度もう少し詳しく
書きます。

413:デフォルトの名無しさん
08/09/15 00:08:43
つーか、なぜサーバ上でライセンス認証しないとダメなの?

414:デフォルトの名無しさん
08/09/15 02:59:08
>>412
まさかとは思うが、サーブレットの方にSwt使えば、クライアントのブラウザ側にウィンドウが表示されるとか思ってないよな?
サーバー側で使用する管理用UIを用意したいとか、そういうことなんだよなきっと?!








ねーよwwwwwwwww

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

だからありえないとまでは言わないが、普通はやらないな。

416:デフォルトの名無しさん
08/09/16 21:42:04
>>415
それはサーブレットからSWTを呼んだとは言わんわな。
サーブレットが返すHTMLに埋め込まれたアプレットがSWTを呼んだ、というだけで。

417:デフォルトの名無しさん
08/09/16 23:10:25
>>413
コマンドライン等は極力使わないで GUI で操作できる事を前提に構築
されているサーバーなので…。

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

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

申し訳ありません、ありがとうございました。

418:デフォルトの名無しさん
08/09/17 12:21:13
>>417

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

だったらサーブレットじゃなくてJavaアプリケーションのほうがよさそうだけれども

419:デフォルトの名無しさん
08/09/17 14:42:29
>>417
サーバの管理機能をGUIでって感じなのかな?
だとしたら管理機能ををWebで実装すればすむはなしじゃないのか…?

420:デフォルトの名無しさん
08/09/17 15:29:10
>>418
とりあえず、今回は認証だけ単体のアプリケーションで行う様に
しました。

>>419
確かに、そういう手もありましたね。
今回はとりあえずインストールと同時に認証させる形にしました。

421:デフォルトの名無しさん
08/09/17 20:25:20
ヒープの気になるWebコンテナから
SWTの画面を出してしまうとわ・・・

422:デフォルトの名無しさん
08/09/17 20:44:42
>>421
起動時に一回呼び出すだけでも問題あるんですか?
あと、dispose とかしてもダメですか?

423:デフォルトの名無しさん
08/09/17 21:17:30
いまいちどういうアプリなのか想像できねー
WebアプリからGUI画面呼び出すなんてありえん

起動時に1度だけ呼び出すとか意味不明すぎる
それなら普通にGUIアプリからアプリケーションサーバー呼び出すほうが無難

424:デフォルトの名無しさん
08/09/17 21:29:27
馬鹿げてる.
悪いことは言わんからHTTPサーバ内でウィンドウを出すのはやめておけ.

425:デフォルトの名無しさん
08/09/17 21:35:43
>>423
ダメな理由がいまいちよく分かりませんが…。
実際、jetty を内蔵していて GUI 画面もある、とあるソフトは起動時に
認証を行っていますよ。一般的に有名ではないですが、米国では
そこそこ売れてる様です。
ディスプレイもないサーバーならまだ分かりますが、GUI ベースで
管理しているサーバーなら普通にあり得ると思うんですが…。

とりあえず今回はウェブページ経由で認証した方が楽なので
そっちで作り直してしまいました…。

426:デフォルトの名無しさん
08/09/17 21:42:05
Win 用のコンソール GUI 付いたサーバなんていくらでもあるじゃん。
あたま難すぎじゃねぇのおまいら。

427:デフォルトの名無しさん
08/09/17 22:02:53
脳内妄想で貶し合いかよ。おめでてーな。

428:デフォルトの名無しさん
08/09/18 01:16:18
>>426
GUIの管理ツールの話じゃないだろ
あたまわるすぎ

429:デフォルトの名無しさん
08/09/18 01:37:59
>>428 みたいに、例で出したコードそのまま書いてくる莫迦っているよね。

430:デフォルトの名無しさん
08/09/18 03:16:34
Eclipseのヘルプシステムがtomcatだったころ(今はjettyだっけ?)、俺は夕焼けだった。

431:デフォルトの名無しさん
08/09/18 03:34:12
RMI なんかで常駐物作ったりするときはタスクトレイからウィンドウ出したり普通にするけどな。
まぁサーブレットしか触ったことのない派遣じゃそんな設計する機会もないだろうけど。

432:406
08/09/19 09:58:28
Mac cocoa でのSWT portはSWT3.5がでるまで待ってたほうがよい。
ソース:URLリンク(www.eclipse.org)



433:デフォルトの名無しさん
08/09/20 02:29:02
>>431
質問者はサーブレットから起動させたいとわけのわからないこといってるので
その話とはまったく別物かと

434:デフォルトの名無しさん
08/09/21 00:44:22
サーブレットから起動と言うか、init で一回だけ呼ばれるクラスを作って
そこで認証させようとしてました。

435:デフォルトの名無しさん
08/09/21 00:54:21
アプリケーションサーバーから起動するとセキュリティでひっかかってやれないことが増えたりするからやめたほうがいいよ。
アプリケーションとして起動して、そのアプリケーションからアプリケーションサーバーを起動するのが一番良い。

436:デフォルトの名無しさん
08/11/07 09:50:44
MacOS X Leopard の 64bit Java VM (JSE6) で SWT 3.4 は動かないの?

437:デフォルトの名無しさん
08/11/27 17:00:15
何か良いSWTの解説書籍みたいなのはないの?
Java GUIプログラミング (SWT編)  とかいうのぐらいしかないの?

438:デフォルトの名無しさん
08/12/01 18:13:18
死んだ子の歳を数えてもねぇ

439:デフォルトの名無しさん
08/12/12 22:07:55
次世代Javaに乗る予定のnimbusきたらSwingもSWTも終わるよ

440:デフォルトの名無しさん
08/12/12 22:26:26
>>439

441:デフォルトの名無しさん
08/12/13 00:53:31
nimbusはとっくの昔に載ってるし、なんでnimbusでswingが終わるんだよww

442:デフォルトの名無しさん
08/12/13 13:27:37
それじゃここは終わった人たちばかりだな

443:デフォルトの名無しさん
08/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, ...(つづきは
URLリンク(www.eclipse.org))

444:デフォルトの名無しさん
08/12/13 22:29:40
書き込みテスト

445:デフォルトの名無しさん
08/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で出来てるんだから何かしら方法は有りそうな気がするんだけど

446:デフォルトの名無しさん
08/12/14 12:48:23
JNIは32bitと64bit分けないとダメなのがだるい
そしてそれにのっかったEclipseはきっついな

447:デフォルトの名無しさん
08/12/14 20:29:49
>>446
5万円以下のパソコンが最近はやりだな。
行き着く先は無料のLinux搭載のパソコンの普及。

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

Swingか、SWTか、Webアプリケーションかどれが優勢はわからないが・・・


448:デフォルトの名無しさん
08/12/14 22:05:40
圧倒的コストの差で生き残るのはWebアプリ
ニッチなところでSWT
もうSwingに出る幕はない

449:445
08/12/16 01:39:35
事故解決しました。

450:デフォルトの名無しさん
08/12/19 20:10:18
>>449
解決方法を書いていけよ
>>448
Swingが意外と使われていることに気づいていないようだな・・・
b2cではWebアプリだが、b2bではSwingが結構まだいる。
SWTは聞いたことがない。

451:デフォルトの名無しさん
08/12/19 20:20:35
コストの差で生き残れるのならSwingのほうが開発コスト低い気がするが

452:デフォルトの名無しさん
08/12/21 08:35:14
Swingで1画面あたり200項目近い入力画面を作ると動かなくなっちまうんだよな。
.netなら比較的軽く作れるのに・・・もっと軽量なのでてこないだろうか・・・

453:デフォルトの名無しさん
08/12/21 09:38:11
>>452
ならないw

454:デフォルトの名無しさん
08/12/21 10:20:56
>>452
どんな黒魔術を使うとそうなるの?


455:デフォルトの名無しさん
08/12/21 13:45:30
>>452はEclipse使ってるくさいな
だとしたら200項目もあればまずとまる

456:デフォルトの名無しさん
08/12/21 15:07:49
NetBeansで200ほどテキストフィールド配置してみたけど、まず問題なかったぞ。
GroupLayoutだから重めの処理してるはずだが。
フォーカス移動のたびにデータ取得するとか、なにかイベントで重い処理やってるんじゃないの?

457:デフォルトの名無しさん
08/12/21 17:13:00
JScrollPaneの上にのせて、スクロール量の設定してない、と予想w
それか単純に釣られまくったか

458:デフォルトの名無しさん
08/12/21 17:50:05
だいぶ前だがEclipseVEだと50個のせるともう遅くて使い物にならなかったな

459:デフォルトの名無しさん
08/12/21 23:13:51
SWTのことでHelp Exclipse SDK 等を調べてもよくわからなかったので
質問させてください。

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

皆様、ご教示お願いします。

460:デフォルトの名無しさん
08/12/21 23:27:45
>>459
SWTからさらに上に積み上げて造られたコンポーネント

org.eclipse.ui.part.Interface IPage

URLリンク(help.eclipse.org)

461:459
08/12/22 00:43:11
>>460
ありがとうございます。
今日一日、これを探していました。
よくよんでから眠りにつきたいと思います。

追伸
 皆様、ageてしまってもうしわけなかったです。

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



463:デフォルトの名無しさん
09/01/30 04:11:44
全部一回破棄して描画し直したほうがいいのでは?
ものすごく遅く成ると思うけどね。

464:デフォルトの名無しさん
09/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
URLリンク(www.pej-hed.jp)
URLリンク(www.pej-hed.jp)

を持ってる方 よろしくお願いします

465:デフォルトの名無しさん
09/04/21 19:53:26
ほしゅ

466:デフォルトの名無しさん
09/04/28 01:11:31
SWTのFileDialogをWebアプリで使いたいんだけど
第一引数に親ウィンドウとして何を渡したらよいかな

467:デフォルトの名無しさん
09/04/28 01:24:52
Webアプリ・・・Applet?

468:デフォルトの名無しさん
09/04/28 04:48:34
JavaWebStartじゃね?

469:466
09/04/28 20:29:16
ごめんなさい。忘れてください。
アプレットのつもりで、クライアント側で呼ぶことを考えてましたが
不可能とわかりました。恥ずかしいので消えます。
ともあれ、レスありがとうございました。

470:デフォルトの名無しさん
09/05/19 08:44:32
>>301
  ∧ ∧   一人一個まで
 ( ´・ω・)
 ( ∪ ∪  ,.-、   ,.-、   ,.-、   ,.-、     ,.-、      ,.-、    ,.-、
 と__)__) (,,■)  (,,■)  (,,■)  (,,■)    (,,■)      (,,■)   (,,■)
       梅干  高菜 おかか こんぶ ごはんですよ わさび漬け 焼たらこ
          ,.-、   ,.-、     ,.-、      ,.-、   ,.-、   ,.-、    ,.-、
          (,,■)  (,,■)    (,,■)     (,,■)  (,,■)  (,,■)   (,,■)
          鶏飯 明太子 ちりめんじゃこ ゆかり  柴漬  塩辛 牛肉しぐれ
      ,.-、   ,.-、     ,.-、    ,.-、    ,.-、   ,.-、    ,.-、   ,.-、
     (,,■)  (,,■)    (,,■)   (,,■)   (,,■)  (,,■)   (,,■)  (,,■)
      鮭 鶏ごぼう  野沢菜  天むす ツナマヨ エビマヨ 鮭マヨ 具なし


471:デフォルトの名無しさん
09/06/26 09:57:30
Browserのレンダリング内容を画面外含めてキャプチャしたいんだが、
どうもGC(windowsのDC)経由だとスクロールさせて画面をつながなきゃ逝けないみたいね。
キャプチャツールもみんなスクロールさせて繋いでるし。

まあそれならそれでいいんだが、Browserをスクロールさせるのはどうやればいいんだ?
browser.getVerticalBar();
はIEコンポーネント内のスクロールバーを取れてない気がする。
もしかして
browser.execute("window.scrollTo(0, 100);" );
しかないのだろうか


472:471
09/06/26 10:26:00
>>471
Eclipseのニュースグループで自己解決した。
やっぱBrowser内のスクロールバーはIEコンポーネントの内部実装で、
(今のところ)そいつをBrowser越しにいじくることはできないらしい。

browser.executeが唯一の方法のようだ。

473:デフォルトの名無しさん
09/06/27 15:39:10
>>470
おっちゃん、おいらam/pmで売ってた「とり天」のがいい

474:foi.americanprogress.org
09/08/17 17:49:55
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L

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

スレリンク(news4vip板) のID:PVAf+dux0 = 自動焼人 ★

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


----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
スレリンク(sec2chd板)
にて自動焼人 ★までご連絡ください

475:デフォルトの名無しさん
09/09/04 15:52:55
swtのbrowserでpostのリクエストを出す方法ってありますか?

476:デフォルトの名無しさん
09/09/05 08:13:51
Browser.exec() で JavaScript から POST を実行

477:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/12/19 16:05:03
それ、別スレッドになってない。
asyncExecはUIスレッド内の適当なタイミングでRunnableのrunメソッドを実行するだけ。

479:デフォルトの名無しさん
09/12/19 16:49:09
そうなんですか。ありがとうございます。

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

でも、それだとasyncExecって何のためにあるのかよく分からないですね。

480:デフォルトの名無しさん
09/12/19 16:54:04
ああ、理解しました。
startで起動したスレッドの中で、さらに画面更新処理スレッドを作って、
それをasyncExecに投げればいいってことですか。

481:デフォルトの名無しさん
09/12/20 23:55:23
つーか、widget類ってUIスレッドでしかいじっちゃいけないから、
並列で何かの処理をするスレッドのrunの中で、
asyncExec()を付かて画面更新用の処理を
行わないといけないと思ってたんだけど違う?


482:デフォルトの名無しさん
09/12/21 21:11:44
正しい!

483:デフォルトの名無しさん
09/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のウィンドウだけ出したいんですが、
そう言う場合、どうやって起動すればいいのでしょうか?

484:デフォルトの名無しさん
09/12/27 13:09:34
javaw -classpath 以下略

485:483
09/12/27 20:19:33
ありがとうございます。
javawへのショートカットを作って簡単にできました。

でも、ショートカットに作業ディレクトリを自分で設定しないといけないところが一つ難点です。
batならファイルのある場所が自動でカレントディレクトリになってくれるんですが。

486:デフォルトの名無しさん
09/12/29 12:52:16
こんな感じでSWTで.exeを作成すれば、Windowsでも

URLリンク(www.okapiproject.com)

487:デフォルトの名無しさん
09/12/29 18:17:26
>>486
何的外れな事を…

488:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/01/15 14:16:20
Swing の ActionMap/InputMap でできるようなショートカットを使いたいんだけど、例えば
ウィンドウのどこにフォーカスがあっても CTRL+S で保存メソッドが起動するようには
どうすればいいですか?

490:デフォルトの名無しさん
10/01/24 21:22:05
あるコンポーネントに描画されているグラフィックを、
別のコンポーネント上に描画するにはどうすればよいですか?

491:デフォルトの名無しさん
10/01/25 00:19:10
>>490 やったことないけど、3.4からControlでgetListeners()使ったPaintListenerの取得とか、
print()とか、できるようになったから試してみたら?

492:デフォルトの名無しさん
10/01/25 12:45:18
>>491
すまん、スレまちがえた
SWINGスレで質問したかったんだよ。。。

493:デフォルトの名無しさん
10/01/28 22:19:28
TextCellEditorを設定したセルをクリックするとそのセルだけ幅が広がり、
となりのセルを隠してしまいます。そのとなりのセルをクリックしたい
場合は一度関係ない場所をクリックしてセルからフォーカスをはずさなければ
なりません。なのでセルをクリックした時に自動的に幅が広がらないように
するにはどうすればいいでしょうか?

494:デフォルトの名無しさん
10/01/29 13:25:34
>493

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

(ヒント) SWT.DEFAULT



495:デフォルトの名無しさん
10/01/29 21:59:13
>>494さん。
すいません、バカなので解らないのですが、TextCellEditorを継承したクラスを
を自分で作成するのでしょうか、それともどこかにSWT.DEFAULTを指定すれば、
目的が達成されるのでしょうか。

496:デフォルトの名無しさん
10/01/30 12:00:12
>>494さん
解決しました。ありがとうございました。
public LayoutData getLayoutData() {
LayoutData result = new LayoutData();
result.minimumWidth=0;
return result;
}

497:デフォルトの名無しさん
10/02/09 22:59:11
SWTでのUIの設定値を全て外部の(例えばXMLなど)ファイルに
持たせて、そのファイルの設定値をいじればいくらでも改変可能なんて作りって
出来るんですかね?

498:デフォルトの名無しさん
10/02/09 23:11:47
そう作ればいくらでも出来るだろ。

499:デフォルトの名無しさん
10/02/10 00:08:20
じゃぁやってみせろよ

500:デフォルトの名無しさん
10/02/10 00:23:01
いくらで?

501:デフォルトの名無しさん
10/02/10 00:29:28
正直に言えよ、「できません」って

502:デフォルトの名無しさん
10/02/10 20:17:14
おとなしくe4入れてXWTつかっとけ

503:デフォルトの名無しさん
10/02/10 22:56:46
tableviewerで質問させてください。

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

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

tableviewerのことがのっているサイトを見ても
カラム数が固定となっているものばかりで、1週間ほど悩んでいます。
どうすればカラムが可変でも問題なくなるのでしょうか?

504:デフォルトの名無しさん
10/02/11 18:31:46
import java.swing.*;

インポートで*を使うデメリットは何かありますか?

505:デフォルトの名無しさん
10/02/11 18:36:36
誤爆しました・・・

506:デフォルトの名無しさん
10/02/27 02:18:23
ウィンドウをリサイズしたときに SashForm の左の領域幅を変えたくない
んだけどリサイズウェイトってどうやって指定するの?
JSplitPane#setResizeWeight() みたいなのがあれば良いんだけど。

507:デフォルトの名無しさん
10/02/28 22:04:00
欲しいものの代わりに自分で計算して、ちまちま再描画だろう。
もし出来たら、公開しとくと、他にも欲しい人が居るかもね。

508:デフォルトの名無しさん
10/03/01 04:40:07
ありがとう。回答あるまで待ってみたが、無いと分かれば安心して自分で作れますわ。
というかさっき出来て Wiki に書いておいたので 1 ヶ月もすれば検索ひっかかるかも。

509:デフォルトの名無しさん
10/03/03 05:15:44
ToolTip の豪華版が必要なので SWT.NO_TRIM の Shell でそれっぽいのは出来たんですが、
open したときにフォーカスを持って行ってしまいます。フォーカスを持って行かずに
オープンする方法はないでしょうか。

510:デフォルトの名無しさん
10/03/06 05:24:56
やってること:
通常 → 複数行入力
一行入力モード ON → ENTER キーが押されたら処理開始

Text (SWT.MULTI) に KeyListener 仕掛けて ENTER キーが押されたら処理をしようと思ったんだけど
日本語入力中に確定の ENTER 押しても反応してしまうのよ。入力中かどうか判定する方法はない?

511:デフォルトの名無しさん
10/03/06 08:56:51
Eclipse で日本語入力後に [CTRL]+[Z] 押した時の挙動を見てると、IME の未確定状態も全部
入力として拾ってるみたいだから無理かもしれんね。

512:デフォルトの名無しさん
10/03/07 19:06:30
TreeItem の項目を右クリックした時に状況に応じたポップアップメニューを出すよう
作ってるんだけど、どうしても選択とセットになってしまう。 MouseEvent には doit
がないし、選択項目を移動しないで右クリックのイベントだけ拾う様な方法はないですか?

513:デフォルトの名無しさん
10/03/09 11:37:14
>>512
ポップアップメニューをPopupMenuListener#popupMenuBecomeVisibleで加工する。

514:デフォルトの名無しさん
10/03/14 19:07:15
>>510
VerifyKeyListener

515:デフォルトの名無しさん
10/03/14 19:11:53
↑は ENTER 書き込みの話。日本語入力は関係なかったな。

516:デフォルトの名無しさん
10/03/16 20:14:06
何百個も列があるテーブルを作ったんだが、
各TableColumnの表示幅の合計が33500くらいを超えると
それ以降のテーブルヘッダが表示されなくなった・・・。
(表示幅33500以前のヘッダは表示される)

これって仕様なのかしら(´・ω・`)
解決方法知りませんか?

517:デフォルトの名無しさん
10/03/17 01:39:17
無茶しやがってw

スレリンク(tech板)
★★Java質問・相談スレッド137★★
スレリンク(tech板)
★★ Java の宿題ここで答えます Part 69 ★★

518:デフォルトの名無しさん
10/03/17 06:45:40
StyledText って軽くてシンプルで便利だなw

519:デフォルトの名無しさん
10/03/17 12:43:35
>>516
winのコントロール全般に、その幅で裁ち切られるんじゃなかったっけ。

あと、そもそも何百列も一度に表示するのは設計ミス。

520:516
10/03/17 19:39:20
>>519
そうなんですか(´・ω・`)じゃあどうしようもないってことなんですかね。

>あと、そもそも何百列も一度に表示するのは設計ミス。
一度に出してテーブル内のスクロールバー移動で
最後まで見えるようにしろと言われまして・・・

521:デフォルトの名無しさん
10/03/18 11:03:37
エクセルのピボットテーブルみたいなノリだなw
要求が馬鹿過ぎ。
表示だけvcで作ってjniで呼んだら?

522:デフォルトの名無しさん
10/03/22 02:27:18
Shell をオープンするとどうしてもそっちにフォーカスが移動してしまうんだが
フォーカスを受けない Shell って作れないのかな? AWT でいう Window や Swing の JWindow みたいな。

523:デフォルトの名無しさん
10/03/22 03:18:10
JProgressBar の setIndeterminate(true) と同じ状態って ProgressBar でできませんか?
Mac の進捗バーのあのうねうねが出したいんですが。

524:デフォルトの名無しさん
10/03/22 14:08:10
>>522
Tooltipが参考になると思われ。

>>523
できた気がする。

525:デフォルトの名無しさん
10/03/22 16:12:58
マカってホント情報弱者だな。

526:デフォルトの名無しさん
10/03/22 17:11:29
いくよ!たましいのきょうめ(ry

527:デフォルトの名無しさん
10/03/27 02:42:40
Composer - SWT HTML Editor Widget

528:デフォルトの名無しさん
10/03/27 02:45:08
swtのwysiwygエディタなんですけど
Composer - SWT HTML Editor Widget
URLリンク(sourceforge.net)
これの使い方分かる人いませんか?
また、これ以外にswtのwysiwygエディタってなにかありますか?


529:デフォルトの名無しさん
10/03/27 04:08:53
馬鹿にはswtは無理。
vsに戻りな。

スレリンク(tech板)
Visual Studio 2008 Part 20
スレリンク(tech板)
Visual Studio 2010 Part3
スレリンク(tech板)
Visual Studio 2008 Part 19
スレリンク(tech板)
Visual Studio IDE環境
スレリンク(tech板)
Visual Studio 2005 Part 25

530:デフォルトの名無しさん
10/03/27 09:04:50
hagedou

531:デフォルトの名無しさん
10/03/27 23:31:12
>>528
「swtのwysiwygエディタ」じゃなくて、Eclipse用のHTML WysiWygエディタなのか。
もしそうだったら、このスレじゃなくて、Eclipseスレに行ったほうがよいよ。

532:デフォルトの名無しさん
10/03/28 02:23:23
Browser 上で選択されているテキストを取得したいんだけど何か良い方法はないかな?

533:デフォルトの名無しさん
10/03/28 02:38:10
スレリンク(tech板)
【OLE】オートメーション総合スレ【ActiveX】

javaからは直接呼べないけどな。

vbかvcでもどぞ。

534:デフォルトの名無しさん
10/03/28 13:36:12
>>532
ActiveXコントロールをSWTアプリケーションへ統合する
URLリンク(www.ibm.com)


535:デフォルトの名無しさん
10/03/30 15:42:45
そりゃ Browser じゃできないって事で良いですかね。

536:デフォルトの名無しさん
10/03/31 05:26:05
ブラウザにその機能がないのだもの。

537:デフォルトの名無しさん
10/04/10 10:49:04
Mac だと TreeItem に 4x4 くらいの小さな画像設定した時に、勝手に 16x16 くらいに
引き延ばしやがるのかな。

538:デフォルトの名無しさん
10/04/11 02:34:57
マカってホント情報弱者だな。

539:デフォルトの名無しさん
10/04/11 05:45:37
>>537
SWTのバグではなく、OSの仕様だと思われ・・・
TreeItemの1番目にたとえば、16x16のイメージを設定している場合、
2番目、3番目それ以降に異なるイメージを設定しても、1番目のTreeItem
がデフォルトサイズとなり、勝手にOSが引き伸ばしたイメージを
作成し設定する。
これは、Treeだけではなく、TableやTabFolderでも同様。

1番目のTreeItemをあえて使わないとか、透過GIFで大きいイメージを
設定するとか試してみれば?




540:デフォルトの名無しさん
10/04/12 16:18:38
Browserクラスがサポートするブラウザとブラウザのバージョンが分かる
サイトってどこかにありますか?

541:デフォルトの名無しさん
10/04/13 02:36:01
>>540
URLリンク(eclipse.org)

542:537
10/04/13 07:17:18
>>539
すみません、別の問題だったみたいです。
大きさの違う画像を再設定した場合、新しい画像が以前の画像の大きさにリサイズされてしまうという
話でした。画像の再設定後に layout() や computeSize() を試してみましたが、どうも以前のサイズが
残ったままのようです。サンプルソースおいておきます。何かうまい方法はないでしょうか?

URLリンク(tool-ya.ddo.jp)

フォントサイズを変更したときにフォントに合わせてサムネールのサイズも変えるという処理を組んでいた
のですが、Windows で動かしたときにたまたま初期設定のフォントサイズが想定したサイズだったので
うまく動いているように見えただけでした。

543:デフォルトの名無しさん
10/04/16 18:27:32
ウィンドウバーの細いウィンドウって出せない?
Illustrator のツールウィンドウみたいなのが出したいんだけど。

544:デフォルトの名無しさん
10/04/18 08:57:05
SWTなんてgcjがawt&swing対応になったら、なんの価値もなくなるだろ。
土人だというアドバンテージしかないんだからSWTには。消えてなくなるよ。

545:デフォルトの名無しさん
10/04/18 12:46:51
gcj (プゲラ

546:デフォルトの名無しさん
10/04/18 20:30:31
ん? あのtomcatもgcjでコンパイルしてるんだろ?

547:デフォルトの名無しさん
10/04/20 09:45:18
印刷マージン列を例えば 100 に設定するとだいたい 100 カラムあたりに補助線が
出るじゃん (正確じゃないけど)。ああいったような縦線って StyledText でどう
やって出すの?

548:デフォルトの名無しさん
10/04/21 04:26:29
setToolTip() で設定したツールチップをマウスのロールオーバーなしに
強制的に表示したいんだけど、ToolTip インスタンス作って自前で表示するしかない?

549:デフォルトの名無しさん
10/04/21 19:57:16
ShellとかCompositeはGraphicsオブジェクトを取得して
その上でお絵かきできるんだろうか? paint()メソッドは
呼ばれるの?

550:デフォルトの名無しさん
10/04/21 20:26:33
PaintListener

551:デフォルトの名無しさん
10/04/21 21:38:45
おおきに。
俺、netbeansのGUIビルダーでばっかりやってやから
自分でレイアウト手書き殆どしてないんだよな。
netbeansのnullLayoutで作ったソースを
もってきて、SWTはLayout使わずにsetBounds()で部品の
位置決めするのが楽そうだな。

552:デフォルトの名無しさん
10/04/26 14:39:11
>>543
new Shell(display,SWT.TOOL|SWT.TITLE);

553:デフォルトの名無しさん
10/04/29 12:39:01
StyledText の setLineWrapIndent() って SWT 3.6 からか…
3.6 が正式リリースになるのっていつ頃になりそう?

554:デフォルトの名無しさん
10/04/29 15:14:03
そりゃ、Eclipse 3.6が正式リリースされる頃、だと思うぞ。
URLリンク(www.eclipse.org)
''Our target is to complete 3.6 in late June 2010''

555:デフォルトの名無しさん
10/04/29 18:06:42
なんだもうすぐじゃねぇか。Milestone リリースとはいえ道理で安定しているわけだ。
どうもありがとうございました。

556:デフォルトの名無しさん
10/04/29 23:23:40
StyledText への画像埋め込みで Cocoa (32/64bit両方) だと Glyph に指定した
幅と高さの領域を取ってくれないのな。並べた画像が重なっちまう。
Win や Carbon ならちゃんと表示されるのに。

557:デフォルトの名無しさん
10/05/02 07:12:49
shell.setLayout(new FillLayout(SWT.VERTICAL));
composite1.setLayout(new FillLayout(SWT.HORIZONTAL));
composite2.setLayout(new FillLayout(SWT.HORIZONTAL));

として敷き詰めたパネルの中央部分をユーザーが
マウスのドラッグすることでサイズを変更出来るようにするには何を変えたら良いのでしょうか?

あまりに基本的な事柄でバカらしいと思われるかもしれませんが
教えていただけると嬉しく思います。

558:デフォルトの名無しさん
10/05/02 08:34:44
ドラッグのイベント拾って shell のサイズ変えれば良いんじゃね?

559:デフォルトの名無しさん
10/05/02 09:52:39
マウスがウィンドウから出た時に自動的にクローズする処理を書いています
(Shell 上にはマージン 0px で 1 つのコンポーネントが乗っています)。

mouseExit() で Shell を dispose() する MouseTrackListener を Shell に仕掛けると
0 pixel の境界から出た時に通知されません。同じリスナを内包するコンポーネントに
仕掛けると、今度はタイトルバーやスクロールバーの上に行っただけで閉じてしまいます。
何か良い方法はないですか。

560:デフォルトの名無しさん
10/05/03 08:27:00
>>558
わかりにくい表現ですいません…。
SashFormを使えばやりたい事ができることがわかりました。

561:デフォルトの名無しさん
10/05/04 17:00:43
iPad で SWT って動くんかね。

562:デフォルトの名無しさん
10/05/04 18:12:57
Jobsの気が変わらない限り、法的に不可能。
iPad/iPhoneでは、iPhone用のObjective-C以外でプログラムを作れないことになっている。

563:デフォルトの名無しさん
10/05/04 18:16:56
Objective-Cはもういやだー

564:デフォルトの名無しさん
10/05/04 18:50:31
Java は動くんじゃねぇの。
まぁ下のネイティブライブラリを汚侮辱都市で書き直す必要があるが。

565:デフォルトの名無しさん
10/05/04 20:02:06
Javaランタイムの開発自体が禁じられているから、無理。

566:デフォルトの名無しさん
10/05/05 02:00:44
ああ、標準で Java 積んでんのは Android だったか。
しかし Apple はどうするつもりかね。バカもチョンも
デザイナに毛の生えた奴から組み込みのプロまで全員汚侮辱都市使えってか。

567:デフォルトの名無しさん
10/05/05 10:10:19
AndroidはJava言語で開発できるが、JavaVMじゃないから注意
JNI使ってるものは特に無理

568:デフォルトの名無しさん
10/05/06 11:44:26
AndroidはDalvik VM。
中間コードの形式も違う。

569:デフォルトの名無しさん
10/05/06 18:34:39
確かHotspotとかJITも無かったような気が。
普通のVMじゃ駄目だったのかな?良くわからん

570:デフォルトの名無しさん
10/05/06 22:05:56
フットプリント軽くするためのレジスタマシンだからね
Javaと同じとは考えないほうがよい

571:デフォルトの名無しさん
10/05/06 22:15:35
スタックマシンと何が違うのやら教えてエロい人"!
個人的にはコアライブラリとソースレベルでの互換性があれば何でもいいです。

572:デフォルトの名無しさん
10/05/08 01:25:44
>>559
マウスキャプチャして、
ムーブイベントで座標が範囲内かどうかみる。


573:デフォルトの名無しさん
10/05/14 09:58:21
text.setBackground(Color.gray);
とすると
The method setBackground(Color) in the type Control is not applicable for the arguments (Color)
というエラーメッセージが出たんですが、
「setBackground(Color) は (Color) を引数にとることができません。」
としか自分の英語力では理解出来ず解決策がわかりません。

どうすればこのエラーを無くすことができるでしょうか?

574:デフォルトの名無しさん
10/05/14 10:00:46
SWT の Color と AWT/Swing の Color は別クラス。

text.setBackgroun(Display.getDisplay().getSystemColor(SWT.COLOR_GRAY));

575:デフォルトの名無しさん
10/05/14 11:14:46
>>574
ありがとうございます。
これで背景色の変更ができるようになりました。

576:デフォルトの名無しさん
10/05/18 09:08:15
Label で表示したテキストを選択可能にしたいのですが
該当のメソッドが見つかりませんでした。
Text でsetEditable(false) で代用するのが良いのでしょうか?

577:デフォルトの名無しさん
10/05/18 20:49:01
直接の解決策は知らないけど
EclipseのAboutダイアログをSWT Spy plug-inで調べてみたらどうかな?

578:デフォルトの名無しさん
10/05/18 23:37:26
>>577
こんなプラグインがあるんですね、ありがとうございます。
調べてみたところAboutダイアログの文字が選択出来る部分は
StyledTextが使われてるようです。

579:デフォルトの名無しさん
10/05/19 09:12:40
SWT.READ_ONLY 付けた Text 使うでしょ。

580:デフォルトの名無しさん
10/06/13 08:36:23
C#でいうスプリッタ?みたいな、マウスでフレーム移動させるみたいなのはありますか?


581:デフォルトの名無しさん
10/06/13 08:41:17
SashForm

582:デフォルトの名無しさん
10/06/19 18:13:21
SWT初心者がちょっと質問します。

URLリンク(wdsdx.com)

このサイトに記述されているプログラムを参考にしているのですが、
作成したプログラムが物凄く重いので原因を探していると、

while (!self.sShell.isDisposed()) {
  if (display.readAndDispatch()) {
    display.sleep();
  }
}

ここで常時if文を使っているので、物凄く重くなっていると思われます。
なにかいい解決方法はないでしょうか?

583:デフォルトの名無しさん
10/06/19 19:05:09
ねぇよ。
イベント発生するまで待機する処理だからプロファイラで見たら時間かかってるように見えて当たり前。

584:デフォルトの名無しさん
10/06/19 19:49:51
>>583
勉強不足ですみませんでした。

回答ありがとうございました。

585:デフォルトの名無しさん
10/07/15 19:40:02
ラベルを大量に並べて、それをスクロールして見ることはできないんでしょうか?

下のコードにあるようにラベルを並べてスクロールで動かしたかったのですが
スクロールバーは現れるもののスクロール自体が効いていませんでした。

shell.setLayout(new GridLayout(1,true));
Composite composite = new Composite(shell,SWT.V_SCROLL);
composite.setLayout(new GridLayout(1,true));
for(int i=1; i<100; i++){
Label label = new Label(composite,SWT.NONE);
label.setText("ラベル" + Integer.toString(i));
}

動かす方法をご存じの方いましたら教えてください。

586:デフォルトの名無しさん
10/10/04 15:21:12
お前らGCJ使ってる?

587:デフォルトの名無しさん
10/11/26 20:05:40
仕事でSWT使った事はないけど、趣味でSWT使った事はある。
がしかし、最近思うに、Eclipseプラグインの形で、新たなパースペクティブ
用意して作っちゃった方が早いという事に気づいた。

588:デフォルトの名無しさん
10/11/27 02:11:56
作るほうが?
動作が?

589:デフォルトの名無しさん
10/11/27 18:49:55
>>588
作る方が。UI周りも気の利いたのが便利に使えるし。

590:デフォルトの名無しさん
10/11/27 19:20:27
動作なら「速い」と書くだろう

591:デフォルトの名無しさん
10/11/27 19:57:39
早いと速いをごっちゃに使う人もいるからあまり信用できない

592:デフォルトの名無しさん
11/01/02 23:50:48
VisualStudioっぽくUIが作れるEclipseプラグインが
あったと思ったんだけど、最近聞かないね。

あれがもっと広まればSWT関連の書籍もたくさん出てたろうに。

593:デフォルトの名無しさん
11/01/09 20:25:33
>>592 これのこと?
2010-12-17 米Google、Java GUIビルダー「WindowBuilder」など2技術をEclipseに寄贈 - SourceForge.JP Magazine : オープンソースの話題満載
URLリンク(sourceforge.jp)

594:デフォルトの名無しさん
11/01/09 22:21:54
>>593
以前にあったのはVisualEditorってやつだな。
その記事は知らなかったけど、Java関係の弱点って
UI周りの手軽さなので、助かりそうな気がする。

595:デフォルトの名無しさん
11/01/10 00:42:49
NetBeansじゃだめなのか?

596:デフォルトの名無しさん
11/01/10 02:37:09
NetBeansでSWT扱えるようになったの?


597:デフォルトの名無しさん
11/01/31 03:13:03
SWT初心者です。
Compositeをnewする時に親が必須なので、画面中の子Composite作成を別クラスに委譲しようとしても、
親を一々渡していかなきゃダメだと思いますが、疎結合にするいい案はないでしょうか?

598:デフォルトの名無しさん
11/01/31 23:49:44
疎結合の意味がわかってないと思うんだ。

599:デフォルトの名無しさん
11/02/01 08:00:23
あるレイヤーやTier間の結合度を指して言うべきだということでしょうか。
リファクタリング時によく使う、結合度が低い状態のことを
疎結合と読びました。すみません。

600:デフォルトの名無しさん
11/02/10 00:16:24
複数のテキストフィールドにある値を一度に取得したり、一度に内容を消すというような場合は
どうすればいいのでしょうか?
単純にText[] txts みたいな感じで配列で宣言しておいて、ループで回すという感じでしょうか?

601:デフォルトの名無しさん
11/02/10 02:08:04
なんで今になって>>393>>396があぼーんされてんだ…

602:デフォルトの名無しさん
11/02/13 12:17:11
あるボタンを押すとViewFormが表示され、
表示されたViewForm上のあるボタンを押すと
ViewForm上で入力された値を元の画面に持ってくるというようなことをするにはどうしたら良いでしょうか?

603:602
11/02/13 13:59:57
自己解決しました。
JFaceのDialogを継承して、独自のダイアログが作れるようなので、これで対応します

604:デフォルトの名無しさん
11/02/14 15:38:55
色々なパソコンで動作確認してみましたが、AMD CPUだと動いてIntel CPU だと
動かない状況です。
何から疑えばよいかご意見いただきたいです。

605:デフォルトの名無しさん
11/02/14 19:05:57
クロスプラットフォームという言葉

606:デフォルトの名無しさん
11/02/27 14:11:44.76
>>604
URLリンク(bugs.eclipse.org)
ちょろっと見たところ、統合チップセットの問題がよく挙がってる感じ。

607:デフォルトの名無しさん
11/03/21 09:29:38.92
SWTのWinAPIを使ってWindowsメッセージ処理を行おうと思っているのですが、
SWTにおけるwndprocの取り扱いがよく分かりません・・・
SWTのinternal.win32.OSを見てもwndprocらしき関数が見当たらないので、
半分お手上げ状態です・・。

どなたかご存知の方いらっしゃいましたら、ご教授お願いします。

608:デフォルトの名無しさん
11/03/21 17:08:34.44
Callback

609:デフォルトの名無しさん
11/03/21 23:03:44.98
>>608
コメントありがとうございます。
swt.internalのCallbackクラスを用いてウインドウプロシージャを
ハンドラに登録するってことでしょうか?


610:デフォルトの名無しさん
11/04/02 15:16:00.35
SWTでEclipseのようなエディタを作りたいのですが、レイアウトの方法で迷ってます。
Swingでは東西南北配置のBorderLayoutを使ってたのですが、SWTにはそういのないですよね。
そこで、GridLayoutかFormLayoutの利用で迷ってるのですが、どちらの利用が適切でしょうか?
Eclipseのようにパネルの配置換えや非表示などができるくらいの柔軟性は持たせたいのですが。

611:デフォルトの名無しさん
11/04/02 17:35:31.01
Eclipseみたいなのを目指すのなら、
Eclipse RCP 使った方がはるかにはやいよ。
各種ビューの管理、エディタ向けのウィジェット、
ファイル等のリソース管理など、
必要な機能が一通りそろってるから。

612:デフォルトの名無しさん
11/04/02 23:50:45.77
>>611
そんな便利なフレームワークがあったんですか。
情報が少なそうですが、試してみます。ありがとうございます。

613:デフォルトの名無しさん
11/04/05 22:55:41.25
>>612
つか、プレーンなEclipseに、プラグイン開発の形で
開発した方が手っ取り早いよ。


614:デフォルトの名無しさん
11/04/09 20:43:02.84
生のSWTでアプリ開発してる奴はいないのか?

615:デフォルトの名無しさん
11/04/13 06:18:13.77
eclipse

616:デフォルトの名無しさん
11/04/16 18:36:04.39
SWTでフォルダ表示アプリを作ってるのですが、
システム所定のフォルダアイコンを取得する方法ってないですか?
Program.getExtensionsを使って拡張子アイコンは取得できたのですが、
フォルダアイコンだけは見つかりませんでした。

617:デフォルトの名無しさん
11/05/30 15:50:07.27
>>593

おいおい WindowBuilderって無料になってたのかよ!!
以前 有料の時に試して使いやすいなーって思ってたけど、貧乏だったからVisualEditorで我慢してたのに!!

ちょっとインストールしてくる

618: 【東電 78.2 %】 忍法帖【Lv=1,xxxP】 株価【E】 u
11/05/30 20:25:14.45
寄贈されたのは有料版諸々って訳でもないだろう。
有料版との比較レポヨロ。

有料版の時にはまともなコード吐いてくれてたの?

619:デフォルトの名無しさん
11/06/02 21:53:14.59
>>617ががっかりしてVEに戻す姿が見える

620:デフォルトの名無しさん
11/06/02 23:18:36.13
VEはproject terminationの手続きに入った。

621:デフォルトの名無しさん
11/06/03 14:13:06.11
これでまともなvb proを有料で出してくれば、ve潰し大成功じゃねーかw

622:617
11/06/10 17:02:39.44
VEから乗り換えました。


WBのが痒いところに手が届く感じ。
・BoxとかStrutとか使えたり、
・同じ種類のオブジェクトを選択して、一斉にプロパティ設定できたり、
・GridBagLayoutの設定が楽だったり

ってうかよく考えたらここSWTのスレだった。。
Swingしか試してないわ。


有料との比較っても、オレが使ってたの数年前だからな。。。
っていうか有料版ってあるの?
これだけで十分使えるんだけどな。。。

元々VEの時もデザインにしか使ってないし。


623:デフォルトの名無しさん
11/06/11 23:50:56.96
何か良さそうだな。興味持った。
今度試してみたいと思う。乙。

624:デフォルトの名無しさん
11/07/15 13:26:58.71
Eclipse3.7にしてWindowsBuilderをはじめてつかった
Compositeを継承したものをGUIエディタのパレットに追加したいのだがわかる人いる?
パレットを右クリック→Add Component でいけると思ったけど、作成したクラスを指定できない。。


625:デフォルトの名無しさん
11/07/15 13:38:18.66
ちょっとまってたら↑でできた。すまん

626:デフォルトの名無しさん
11/09/09 15:04:15.58
おたずねします。
メニュー構造のような階層をもつ定数値を格納しておくのに最適な方法は何ですか?
階層ごとに取り出して処理したいのですが。

627:デフォルトの名無しさん
11/09/09 15:09:13.54
誤爆です。

628:デフォルトの名無しさん
11/10/23 10:39:12.02
誤爆乗りしてみる

GUI系はやったことないからわからんが
一昔前のStrutsみたいにXML地獄になったりするんか?

629:デフォルトの名無しさん
11/12/05 18:44:21.27
>>626
enumでどうだろう?

630:デフォルトの名無しさん
12/04/18 16:47:45.56
エクスプローラーからファイルをドロップしたらそのファイルのフルパスを
設定できるようなテキストボックスを作りたいのですが、

DropTarget target = new DropTarget(pathText1,DND.DROP_MOVE);
target.setTransfer(new Transfer[] {FileTransfer.getInstance()});
target.addDropListener(new DropTargetAdapter(){
public void drop(DropTargetEvent event) {
pathText1.setText((String)event.data); //←ここ
}
});

としてみたところ、矢印のところでClassCastExceptionが出てしまいます。
悪いところをご教示いただけると助かります。

631:デフォルトの名無しさん
12/04/18 16:54:52.41
.

632:デフォルトの名無しさん
12/04/18 16:57:54.06
(String)event.data←これ


633:630
12/04/18 17:38:29.94
>>632
色々なサンプルを探したのですが、みんなこうやっています。
ここでClassCastExceptionが起こっているのはわかるのですが、
event.dataがStringにキャストできないとなるとどう修正すればいいのか。
具体的な修正案などないでしょうか。

634:デフォルトの名無しさん
12/04/18 17:45:05.06
非nullな参照型ならevent.data.toString()

635:630
12/04/18 17:52:11.48
>>634
toStringで結局Exceptionの中身がpathText1にセットされてしまいました。
元々フルパスがevent.dataの中に入っていないということになるでしょうか?

636:630
12/04/18 18:18:16.56
.

637:630
12/04/18 18:19:56.63
>>636
書き込み失敗しました。
デバッグモードでevent.dataの中身を見たらフルパス入ってるんですよね。
なぜそれが取り出せないのか皆目わかりません。
何かご教示いただけないでしょうか?

638:デフォルトの名無しさん
12/04/18 20:00:53.02
pathText1.setText(event.data.getPath());


639:デフォルトの名無しさん
12/04/18 21:44:47.39
Java嫌いになった

640:デフォルトの名無しさん
12/04/19 01:43:30.93
おめでとう

641:デフォルトの名無しさん
12/04/19 07:42:01.62
Ruby ばっか使ってるとあほになるという好例


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch