Java 高速GUI SWT 3

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

前スレ

Java 高速GUI SWT 2
http://pc8.2ch.net/test/read.cgi/tech/1068349883/
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で加工する。
2010/03/14(日) 19:07:15
>>510
VerifyKeyListener
2010/03/14(日) 19:11:53
↑は ENTER 書き込みの話。日本語入力は関係なかったな。
2010/03/16(火) 20:14:06
何百個も列があるテーブルを作ったんだが、
各TableColumnの表示幅の合計が33500くらいを超えると
それ以降のテーブルヘッダが表示されなくなった・・・。
(表示幅33500以前のヘッダは表示される)

これって仕様なのかしら(´・ω・`)
解決方法知りませんか?
2010/03/17(水) 01:39:17
無茶しやがってw

http://pc12.2ch.net/test/read.cgi/tech/1268702584/
★★Java質問・相談スレッド137★★
http://pc12.2ch.net/test/read.cgi/tech/1267796762/
★★ Java の宿題ここで答えます Part 69 ★★
2010/03/17(水) 06:45:40
StyledText って軽くてシンプルで便利だなw
2010/03/17(水) 12:43:35
>>516
winのコントロール全般に、その幅で裁ち切られるんじゃなかったっけ。

あと、そもそも何百列も一度に表示するのは設計ミス。
520516
垢版 |
2010/03/17(水) 19:39:20
>>519
そうなんですか(´・ω・`)じゃあどうしようもないってことなんですかね。

>あと、そもそも何百列も一度に表示するのは設計ミス。
一度に出してテーブル内のスクロールバー移動で
最後まで見えるようにしろと言われまして・・・
2010/03/18(木) 11:03:37
エクセルのピボットテーブルみたいなノリだなw
要求が馬鹿過ぎ。
表示だけvcで作ってjniで呼んだら?
2010/03/22(月) 02:27:18
Shell をオープンするとどうしてもそっちにフォーカスが移動してしまうんだが
フォーカスを受けない Shell って作れないのかな? AWT でいう Window や Swing の JWindow みたいな。
2010/03/22(月) 03:18:10
JProgressBar の setIndeterminate(true) と同じ状態って ProgressBar でできませんか?
Mac の進捗バーのあのうねうねが出したいんですが。
2010/03/22(月) 14:08:10
>>522
Tooltipが参考になると思われ。

>>523
できた気がする。
2010/03/22(月) 16:12:58
マカってホント情報弱者だな。
2010/03/22(月) 17:11:29
いくよ!たましいのきょうめ(ry
2010/03/27(土) 02:42:40
Composer - SWT HTML Editor Widget
2010/03/27(土) 02:45:08
swtのwysiwygエディタなんですけど
Composer - SWT HTML Editor Widget
http://sourceforge.net/projects/swt-composer/
これの使い方分かる人いませんか?
また、これ以外にswtのwysiwygエディタってなにかありますか?
2010/03/27(土) 04:08:53
馬鹿にはswtは無理。
vsに戻りな。

http://pc12.2ch.net/test/read.cgi/tech/1269602041/
Visual Studio 2008 Part 20
http://pc12.2ch.net/test/read.cgi/tech/1267092670/
Visual Studio 2010 Part3
http://pc12.2ch.net/test/read.cgi/tech/1259076828/
Visual Studio 2008 Part 19
http://pc12.2ch.net/test/read.cgi/tech/1115707321/
Visual Studio IDE環境
http://pc12.2ch.net/test/read.cgi/tech/1225268851/
Visual Studio 2005 Part 25
2010/03/27(土) 09:04:50
hagedou
2010/03/27(土) 23:31:12
>>528
「swtのwysiwygエディタ」じゃなくて、Eclipse用のHTML WysiWygエディタなのか。
もしそうだったら、このスレじゃなくて、Eclipseスレに行ったほうがよいよ。
2010/03/28(日) 02:23:23
Browser 上で選択されているテキストを取得したいんだけど何か良い方法はないかな?
2010/03/28(日) 02:38:10
http://pc12.2ch.net/test/read.cgi/tech/1137771139/
【OLE】オートメーション総合スレ【ActiveX】

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

vbかvcでもどぞ。
2010/03/28(日) 13:36:12
>>532
ActiveXコントロールをSWTアプリケーションへ統合する
ttp://www.ibm.com/developerworks/jp/opensource/library/os-activex/
2010/03/30(火) 15:42:45
そりゃ Browser じゃできないって事で良いですかね。
2010/03/31(水) 05:26:05
ブラウザにその機能がないのだもの。
2010/04/10(土) 10:49:04
Mac だと TreeItem に 4x4 くらいの小さな画像設定した時に、勝手に 16x16 くらいに
引き延ばしやがるのかな。
2010/04/11(日) 02:34:57
マカってホント情報弱者だな。
539デフォルトの名無しさん
垢版 |
2010/04/11(日) 05:45:37
>>537
SWTのバグではなく、OSの仕様だと思われ・・・
TreeItemの1番目にたとえば、16x16のイメージを設定している場合、
2番目、3番目それ以降に異なるイメージを設定しても、1番目のTreeItem
がデフォルトサイズとなり、勝手にOSが引き伸ばしたイメージを
作成し設定する。
これは、Treeだけではなく、TableやTabFolderでも同様。

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


540デフォルトの名無しさん
垢版 |
2010/04/12(月) 16:18:38
Browserクラスがサポートするブラウザとブラウザのバージョンが分かる
サイトってどこかにありますか?
2010/04/13(火) 02:36:01
>>540
ttp://eclipse.org/swt/faq.php
542537
垢版 |
2010/04/13(火) 07:17:18
>>539
すみません、別の問題だったみたいです。
大きさの違う画像を再設定した場合、新しい画像が以前の画像の大きさにリサイズされてしまうという
話でした。画像の再設定後に layout() や computeSize() を試してみましたが、どうも以前のサイズが
残ったままのようです。サンプルソースおいておきます。何かうまい方法はないでしょうか?

http://tool-ya.ddo.jp/webfs/~enigma/IconSample.java

フォントサイズを変更したときにフォントに合わせてサムネールのサイズも変えるという処理を組んでいた
のですが、Windows で動かしたときにたまたま初期設定のフォントサイズが想定したサイズだったので
うまく動いているように見えただけでした。
2010/04/16(金) 18:27:32
ウィンドウバーの細いウィンドウって出せない?
Illustrator のツールウィンドウみたいなのが出したいんだけど。
544デフォルトの名無しさん
垢版 |
2010/04/18(日) 08:57:05
SWTなんてgcjがawt&swing対応になったら、なんの価値もなくなるだろ。
土人だというアドバンテージしかないんだからSWTには。消えてなくなるよ。
545デフォルトの名無しさん
垢版 |
2010/04/18(日) 12:46:51
gcj (プゲラ
546デフォルトの名無しさん
垢版 |
2010/04/18(日) 20:30:31
ん? あのtomcatもgcjでコンパイルしてるんだろ?
2010/04/20(火) 09:45:18
印刷マージン列を例えば 100 に設定するとだいたい 100 カラムあたりに補助線が
出るじゃん (正確じゃないけど)。ああいったような縦線って StyledText でどう
やって出すの?
2010/04/21(水) 04:26:29
setToolTip() で設定したツールチップをマウスのロールオーバーなしに
強制的に表示したいんだけど、ToolTip インスタンス作って自前で表示するしかない?
549デフォルトの名無しさん
垢版 |
2010/04/21(水) 19:57:16
ShellとかCompositeはGraphicsオブジェクトを取得して
その上でお絵かきできるんだろうか? paint()メソッドは
呼ばれるの?
2010/04/21(水) 20:26:33
PaintListener
551デフォルトの名無しさん
垢版 |
2010/04/21(水) 21:38:45
おおきに。
俺、netbeansのGUIビルダーでばっかりやってやから
自分でレイアウト手書き殆どしてないんだよな。
netbeansのnullLayoutで作ったソースを
もってきて、SWTはLayout使わずにsetBounds()で部品の
位置決めするのが楽そうだな。
2010/04/26(月) 14:39:11
>>543
new Shell(display,SWT.TOOL|SWT.TITLE);
2010/04/29(木) 12:39:01
StyledText の setLineWrapIndent() って SWT 3.6 からか…
3.6 が正式リリースになるのっていつ頃になりそう?
2010/04/29(木) 15:14:03
そりゃ、Eclipse 3.6が正式リリースされる頃、だと思うぞ。
ttp://www.eclipse.org/projects/project-plan.php?projectid=eclipse#release_milestones
''Our target is to complete 3.6 in late June 2010''
2010/04/29(木) 18:06:42
なんだもうすぐじゃねぇか。Milestone リリースとはいえ道理で安定しているわけだ。
どうもありがとうございました。
2010/04/29(木) 23:23:40
StyledText への画像埋め込みで Cocoa (32/64bit両方) だと Glyph に指定した
幅と高さの領域を取ってくれないのな。並べた画像が重なっちまう。
Win や Carbon ならちゃんと表示されるのに。
2010/05/02(日) 07:12:49
shell.setLayout(new FillLayout(SWT.VERTICAL));
composite1.setLayout(new FillLayout(SWT.HORIZONTAL));
composite2.setLayout(new FillLayout(SWT.HORIZONTAL));

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

あまりに基本的な事柄でバカらしいと思われるかもしれませんが
教えていただけると嬉しく思います。
2010/05/02(日) 08:34:44
ドラッグのイベント拾って shell のサイズ変えれば良いんじゃね?
2010/05/02(日) 09:52:39
マウスがウィンドウから出た時に自動的にクローズする処理を書いています
(Shell 上にはマージン 0px で 1 つのコンポーネントが乗っています)。

mouseExit() で Shell を dispose() する MouseTrackListener を Shell に仕掛けると
0 pixel の境界から出た時に通知されません。同じリスナを内包するコンポーネントに
仕掛けると、今度はタイトルバーやスクロールバーの上に行っただけで閉じてしまいます。
何か良い方法はないですか。
2010/05/03(月) 08:27:00
>>558
わかりにくい表現ですいません…。
SashFormを使えばやりたい事ができることがわかりました。
2010/05/04(火) 17:00:43
iPad で SWT って動くんかね。
2010/05/04(火) 18:12:57
Jobsの気が変わらない限り、法的に不可能。
iPad/iPhoneでは、iPhone用のObjective-C以外でプログラムを作れないことになっている。
2010/05/04(火) 18:16:56
Objective-Cはもういやだー
2010/05/04(火) 18:50:31
Java は動くんじゃねぇの。
まぁ下のネイティブライブラリを汚侮辱都市で書き直す必要があるが。
2010/05/04(火) 20:02:06
Javaランタイムの開発自体が禁じられているから、無理。
2010/05/05(水) 02:00:44
ああ、標準で Java 積んでんのは Android だったか。
しかし Apple はどうするつもりかね。バカもチョンも
デザイナに毛の生えた奴から組み込みのプロまで全員汚侮辱都市使えってか。
2010/05/05(水) 10:10:19
AndroidはJava言語で開発できるが、JavaVMじゃないから注意
JNI使ってるものは特に無理
2010/05/06(木) 11:44:26
AndroidはDalvik VM。
中間コードの形式も違う。
2010/05/06(木) 18:34:39
確かHotspotとかJITも無かったような気が。
普通のVMじゃ駄目だったのかな?良くわからん
2010/05/06(木) 22:05:56
フットプリント軽くするためのレジスタマシンだからね
Javaと同じとは考えないほうがよい
2010/05/06(木) 22:15:35
スタックマシンと何が違うのやら教えてエロい人"!
個人的にはコアライブラリとソースレベルでの互換性があれば何でもいいです。
2010/05/08(土) 01:25:44
>>559
マウスキャプチャして、
ムーブイベントで座標が範囲内かどうかみる。
2010/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) を引数にとることができません。」
としか自分の英語力では理解出来ず解決策がわかりません。

どうすればこのエラーを無くすことができるでしょうか?
2010/05/14(金) 10:00:46
SWT の Color と AWT/Swing の Color は別クラス。

text.setBackgroun(Display.getDisplay().getSystemColor(SWT.COLOR_GRAY));
2010/05/14(金) 11:14:46
>>574
ありがとうございます。
これで背景色の変更ができるようになりました。
2010/05/18(火) 09:08:15
Label で表示したテキストを選択可能にしたいのですが
該当のメソッドが見つかりませんでした。
Text でsetEditable(false) で代用するのが良いのでしょうか?
2010/05/18(火) 20:49:01
直接の解決策は知らないけど
EclipseのAboutダイアログをSWT Spy plug-inで調べてみたらどうかな?
2010/05/18(火) 23:37:26
>>577
こんなプラグインがあるんですね、ありがとうございます。
調べてみたところAboutダイアログの文字が選択出来る部分は
StyledTextが使われてるようです。
2010/05/19(水) 09:12:40
SWT.READ_ONLY 付けた Text 使うでしょ。
580デフォルトの名無しさん
垢版 |
2010/06/13(日) 08:36:23
C#でいうスプリッタ?みたいな、マウスでフレーム移動させるみたいなのはありますか?
2010/06/13(日) 08:41:17
SashForm
582デフォルトの名無しさん
垢版 |
2010/06/19(土) 18:13:21
SWT初心者がちょっと質問します。

ttp://wdsdx.com/node/41

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

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

ここで常時if文を使っているので、物凄く重くなっていると思われます。
なにかいい解決方法はないでしょうか?
2010/06/19(土) 19:05:09
ねぇよ。
イベント発生するまで待機する処理だからプロファイラで見たら時間かかってるように見えて当たり前。
2010/06/19(土) 19:49:51
>>583
勉強不足ですみませんでした。

回答ありがとうございました。
585デフォルトの名無しさん
垢版 |
2010/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デフォルトの名無しさん
垢版 |
2010/10/04(月) 15:21:12
お前らGCJ使ってる?
2010/11/26(金) 20:05:40
仕事でSWT使った事はないけど、趣味でSWT使った事はある。
がしかし、最近思うに、Eclipseプラグインの形で、新たなパースペクティブ
用意して作っちゃった方が早いという事に気づいた。
2010/11/27(土) 02:11:56
作るほうが?
動作が?
2010/11/27(土) 18:49:55
>>588
作る方が。UI周りも気の利いたのが便利に使えるし。
2010/11/27(土) 19:20:27
動作なら「速い」と書くだろう
2010/11/27(土) 19:57:39
早いと速いをごっちゃに使う人もいるからあまり信用できない
2011/01/02(日) 23:50:48
VisualStudioっぽくUIが作れるEclipseプラグインが
あったと思ったんだけど、最近聞かないね。

あれがもっと広まればSWT関連の書籍もたくさん出てたろうに。
2011/01/09(日) 20:25:33
>>592 これのこと?
2010-12-17 米Google、Java GUIビルダー「WindowBuilder」など2技術をEclipseに寄贈 - SourceForge.JP Magazine : オープンソースの話題満載
http://sourceforge.jp/magazine/10/12/17/0833235
2011/01/09(日) 22:21:54
>>593
以前にあったのはVisualEditorってやつだな。
その記事は知らなかったけど、Java関係の弱点って
UI周りの手軽さなので、助かりそうな気がする。
2011/01/10(月) 00:42:49
NetBeansじゃだめなのか?
2011/01/10(月) 02:37:09
NetBeansでSWT扱えるようになったの?
2011/01/31(月) 03:13:03
SWT初心者です。
Compositeをnewする時に親が必須なので、画面中の子Composite作成を別クラスに委譲しようとしても、
親を一々渡していかなきゃダメだと思いますが、疎結合にするいい案はないでしょうか?
2011/01/31(月) 23:49:44
疎結合の意味がわかってないと思うんだ。
2011/02/01(火) 08:00:23
あるレイヤーやTier間の結合度を指して言うべきだということでしょうか。
リファクタリング時によく使う、結合度が低い状態のことを
疎結合と読びました。すみません。
2011/02/10(木) 00:16:24
複数のテキストフィールドにある値を一度に取得したり、一度に内容を消すというような場合は
どうすればいいのでしょうか?
単純にText[] txts みたいな感じで配列で宣言しておいて、ループで回すという感じでしょうか?
2011/02/10(木) 02:08:04
なんで今になって>>393>>396があぼーんされてんだ…
2011/02/13(日) 12:17:11
あるボタンを押すとViewFormが表示され、
表示されたViewForm上のあるボタンを押すと
ViewForm上で入力された値を元の画面に持ってくるというようなことをするにはどうしたら良いでしょうか?
603602
垢版 |
2011/02/13(日) 13:59:57
自己解決しました。
JFaceのDialogを継承して、独自のダイアログが作れるようなので、これで対応します
2011/02/14(月) 15:38:55
色々なパソコンで動作確認してみましたが、AMD CPUだと動いてIntel CPU だと
動かない状況です。
何から疑えばよいかご意見いただきたいです。
2011/02/14(月) 19:05:57
クロスプラットフォームという言葉
2011/02/27(日) 14:11:44.76
>>604
https://bugs.eclipse.org/bugs/
ちょろっと見たところ、統合チップセットの問題がよく挙がってる感じ。
2011/03/21(月) 09:29:38.92
SWTのWinAPIを使ってWindowsメッセージ処理を行おうと思っているのですが、
SWTにおけるwndprocの取り扱いがよく分かりません・・・
SWTのinternal.win32.OSを見てもwndprocらしき関数が見当たらないので、
半分お手上げ状態です・・。

どなたかご存知の方いらっしゃいましたら、ご教授お願いします。
2011/03/21(月) 17:08:34.44
Callback
2011/03/21(月) 23:03:44.98
>>608
コメントありがとうございます。
swt.internalのCallbackクラスを用いてウインドウプロシージャを
ハンドラに登録するってことでしょうか?
610デフォルトの名無しさん
垢版 |
2011/04/02(土) 15:16:00.35
SWTでEclipseのようなエディタを作りたいのですが、レイアウトの方法で迷ってます。
Swingでは東西南北配置のBorderLayoutを使ってたのですが、SWTにはそういのないですよね。
そこで、GridLayoutかFormLayoutの利用で迷ってるのですが、どちらの利用が適切でしょうか?
Eclipseのようにパネルの配置換えや非表示などができるくらいの柔軟性は持たせたいのですが。
2011/04/02(土) 17:35:31.01
Eclipseみたいなのを目指すのなら、
Eclipse RCP 使った方がはるかにはやいよ。
各種ビューの管理、エディタ向けのウィジェット、
ファイル等のリソース管理など、
必要な機能が一通りそろってるから。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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