Java 高速GUI SWT 3
..
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てしまってもうしわけなかったです。
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5390日前に更新/99 KB
担当:undef