Java 高速GUI SWT 3

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

前スレ

Java 高速GUI SWT 2
http://pc8.2ch.net/test/read.cgi/tech/1068349883/
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で加工する。
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使ってるものは特に無理
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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