Java 高速GUI SWT 3
■ このスレッドは過去ログ倉庫に格納されています
とりあえず、前スレ落ちてから時間たつけど、立ててみた。
前スレ
Java 高速GUI SWT 2
http://pc8.2ch.net/test/read.cgi/tech/1068349883/ 肝心なのは自分の質問したかった事があるからなんだが、
書いてなかった。
ツールバーにブラウザのURL放り込むようなTextを入れたいんだけど、
ツールバーのボタンの幅を固定、Textの幅を可変にするにはどうしたら
いいのでしょうか? そういうコンテナ書けば?
最悪doLayoutをオーバーライドすればOk テンプレもうちょっとなんとかしろよ。
参考リンクとか。 これまでサーバーサイドものばかりやってきたんだが、
こういうGUIモノだと、クラスをどう分けるかとかうまく
できん。
なんつーかこう、MVCでやってきたのに。 JFaceはまだまだ資料にできる日本語サイトが少ないよなー。
英語のドキュメント読む気ないんだけど、誰か翻訳…
SWTからwin32API使うのもやりたいんだけど。 各widgetの扱いについて質問です。
画面作る時に、メソッドの中でゴリゴリとインスタンス生成して
設定していってもいいんですけど、きれいにまとめて管理する
方法ってないでしょうか?
とりあえず、使うwidgetをフィールドにまとめたクラスをシングルトン
で作ったりしているのですが… RCPでマスターメンテ作るコトになりそうなんだけど、どっかに雛形おっこってないかなぁ(^^;
DBEditみたいに簡単なモノでいいんだけどね……。 MVCしたいならSpring入れてみれば?
それっぽく開発できるんじゃね? クリスマスだし、嫁とセクロスしまつ
ttp://feiticeira.jp/jisaku/img/5118.jpg VE使ってる人っている?
これで自動的に追加されるSWTのコンテナの構成って変えられないのかな
ソースのパスとjavadocのURLを設定したいんだけど、どうするんだろ? >>21
VEの設定じゃなくてPDEのtargetのところで新しいtargetを追加、
さらにソースパスを指定。その後、プロジェクトに追加されている
SWTコンテナのプロパティでPDE targetを指定。
でも本来、まともな状態ならSWTのコンテナが追加された時点で
ソースパスとjavadoc URLはちゃんと設定されているはず...
なんだけど、うちでも3.2.0->3.2.1にアップデートした時点くらいで
うまく認識できなくなった。VEに限った話じゃなくてプラグインを
ワークスペースにインポートするときとかも駄目。3.2.1のSDKを
まっさらな状態からインストールしなおしたらまともになった。 初心者質問須磨蘇
>>13のようなDBアプリを作って配布する際、DB接続先ホストやパスワードを
利用者に知られないようにするにはどうしたらいいの?
Javaだと逆コンパイルかけられたら暗号化しててもルーチンも含めて
丸分かりになっちゃうと思うんだけど、みんなどうしてるのかしらん >>23
・あきらめる。
・DBアプリにしない。DB操作はWebサービス経由で行う。
Webサービスの認証情報が漏れるのは避けられないが、可能な操作を限定できるので、多少はマシ。 >>26
Swingについては初心者スレに出てたので便乗質問で津
SWTもSwing同様Web Serviceにしないと駄目なんですね
しかしDB情報丸分かりか、さもなきゃ三層化にするしかないなんて、
いきなり敷居が高くなるね >>27
SWTにしろSwingにしろGUIライブラリなので、そこまで要求するのはそもそもずれてる。
公開するDBアカウントでできることを制限するってのも手かもね。マスタテーブルはSELECTのみとか。
ところで、いい加減スレ違いなので、わかったら余所に行ってね。 VE使ってるんですけど、Tableを置いて、それをコンストラクタに取るTableViewerをエディタから手で作ったところ、
「ビューアー・プロパティーを表示するためにアクション・バーで TableViewer を選択してください」
というメッセージが、VEのTable上にのツールチップで表示されるようになりました
そこで、いわれたとおりにアクション・バーでTableViewerを選択したいのですが、そのやり方がわかりません
このアクション・バーってなんなのでしょう? 自己解決しました。
テーブルを選択したときに表示される黄色い枠線の右上に右向きの矢印が表示されていました
この矢印をクリックすると表示されるのがアクション・バーですね
さらに、そこに表示されているTableViewerを選択することで、そのプロパティーの表示、変更もできました
以上、お騒がせしました SWT 難しいぃぃぃぃぃぃぃぃぃ。
JFace も難しいいぃぃぃぃぃぃぃぃぃぃ。
全然資料がない。
参考にできる URL はありますが、ちょろっとだけ参考にしかならない。
ぬぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ。
みなさんどのようにして勉強されていますか。
初心者向けにお願いします。 初心者なのか?仕方ないな
ではまず・・・
ソース嫁 >>31
ともかく英語できないと話にならないんで、技術書くらいは読める前提で。
まずSWTの開発陣が書いた本でいわゆる`SWT Book'ってやつ。
http://www.amazon.com/dp/0321256638/
あとは
http://www.eclipse.org/swt/
http://www.eclipse.org/articles/
のArticlesとResourcesのとこ。特にSnippets。
Articleは一部IBM developerWorks Japanに和訳がある。
あと実際にコード書いてて役に立ったのはOfficial Eclipse FAQs。
押さえるべきポイントは大体網羅されていて、かつ各項目は短いので
つまみ食いできる。昔は書籍しかなかったけど、今はeclipsepediaで公開されてる。
http://wiki.eclipse.org/index.php/The_Official_Eclipse_FAQs
けど書籍版が手元にあるとぱらぱらめくれて便利。
あとはEclipseのソース。File -> Import -> existing Plugins and features(だっけ?)
でorg.eclipse.ui.*をソースごとインポートしておくとそんな読むの大変じゃない。 つか、まさにFAQにあったな。
http://wiki.eclipse.org/index.php/FAQ_Where_can_I_find_more_information_on_SWT%3F
このうち、Eric Claybergの本は2006年版に版が改まって、あと
Erich GammaとKent Beckの本は和訳が出てる。 おまいさんはアマゾン.comで本買ってるのけ?
送料ってどうなってんの? 誰もいないけど質問してみるね
テキストウィジェットをクリックしたら
ウィジェット内のテキストをselectAll()するようにしたいんだけど
適当なリスナーがないの
(FocusListenerだとselectAll()したあとにクリックが反映されるの)
どうしたらよいですか? マウスリスナーとフォーカスリスナーをごちゃごちゃいぢってたら解決しました
くだらないこと聞いてすいません >>38
MouseイベントとMouseMoveイベント両方みてればいけるでしょ? 俺、SWTで2ちゃんブラウザ作ろうとしてただけに、ほんとに2ちゃんねる閉鎖
したりするとショックだ。 >>42
完全匿名で個人情報晒された人が誰を訴えていいのか歯軋りするような
P2Pな2chを作ってください。javaで 金子みたいにならないように作者もP2P側に居る必要があるな。 エアロが証明してしまったな。GUIはGPUをフルに使えよwと。 >>45
いや、既にMacOSXが証明済みだろう・・・スレと関係ないな・・・
>>43
作者がある程度管理できる仕組みで、
アボーンとかが出来ないと完全無秩序で
小数の荒らしでつぶれるな・・・うん。これもスレと関係ない・・ はい!しつもん!
SWTを使ってブラウザを作ってみました
→windowsでは動きました
Linuxで動かして見ました
→途中まで動くのですが、フラッシュ?が表示されるサイトに移動すると
突然落ちます。
何か対処法とかご存知ですか?
SWTのライブラリは最新バージョンを使ってます
OSはFedora6でファイヤフォックスのバージョンは1.5.09です。
ついでにage SWTのTreeってSwingのTreeModelとは互換性ないんでしょうか?
作りかけのアプリをSwingじゃなくてやっぱりSWTにしようかと思ってるんですが、
自前のTreeModelつくっちゃったんで流用できればと思ったんですが、
やっぱむりでしょうか? そういえばJFaceのTableViewerってかなりつくりが汚いよな。
TableLabelProvidernは列を左から数えた数でアクセスするのに、
CellModifierは列に設定されたproperty値でアクセスするってのが気持ち悪い
TreeViewerは使ったことないけど同じようなもんか?
SWT自体はだいぶこなれてきたと思うんだけど、
Swingが良くなってきたからね。 main(string[]args) ってどういう意味ですか?('A`) \ ∩___∩
. \ | ノ ヽ ちょっ! ちょっと待つクマ!
\ / ● ● |
\| ( _●_) ミ 釣り方間違ってるクマ!!
彡、 |∪| ,/..
ヽ ヽ丿/ /⌒| この吊り方は、やばすぎるクマー!!!
/ \__ノ゙_/ / =====
〈 _ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザ
SWTのBrowserを用いて表示させたHTML上で、
ログイン名とパスワードをフォームに入力してSubmitすることで、
自動ログインを実現することは出来ますでしょうか?
C#.NETでは、name="userID"というINPUTタグがある場合
IHTMLInputElement iTitleBox = (IHTMLInputElement)form.item("userID", 0);
iTitleBox.value = this.textBox2.Text;
のようにして実現できたのですが。
もし参考になるサイトなどありましたら、ご教授いただけると助かります。
>>64
たぶん、SWTのWin32API扱うクラスで実現させるぐらいだろうけど、
SWTのBrowserにはソースを読むクラスはないよ。たぶん。
ベタにHTMLクライアント書く方が吉かも。 org.eclipse.jface.text.source.projection.ProjectionViewerを
スタンドアローンなアプリで使いたいと思ってるんですが、
ネット上を漁ってみてもplugin用にorg.eclipse.ui.editors.text.TextEditor
を使っているサンプルしか見つかりません。
org.eclipse.uiを使ってしまうと芋づる式にeclipseのランタイムを
呼び出してしまうので避けたいのですが、ProjectionViewerを
org.eclipse.ui.editors.text.TextEditorを継承せずに使ってる
いいサンプルどこかにありませんか?
それかもしかしてスタンドアローンなアプリでもorg.eclipse.uiを使う
のが定石なんでしょうか? >>67
jface初心者なんですが、jfaceでスタンドアロンなエディタってどうやって作ってるの?
暇なときにちょっとProjectionViewerなるものを試してみようかと思ってね。 >>70
基本的には
http://www13.plala.or.jp/observe/JFace/jface_overview.html
のTextウィジェットのかわりにProjectionViewerを使うだけです。
Projecsion/Annotation関係のクラスの使いかたを調べているうちに
プラグインとして使っているサンプルしか見つからないことに
気づいた。
行番号表示したりキーワード強調したりというSourceViewerに
実装されてる範囲内の機能はちゃんと動作してるんだけど、
フォールドさせる仕組みがわからない・・・。 SWTでシェアウェア作ろうと思うんだけど、ライセンス上、問題ないのでしょうか?
また、自分のソフトウェアにSWTを同梱して配布することは可能なのでしょうか? ライセンス読めよ。いまどき日本語版もあるよ。
最終的に自分を守るのは自分だ。相手はIBMだから何されるかしらんぞ。 どうやら、商用に使ってもOKみたいですね。
同梱してもよさそうだし、SWTでシェアウェアを作ることにします。
ありがとうございました。 プログラミングにブックスタンド便利
ttp://www.huhka.com/jisakupcheya/1164546272/img/1164546272_0735_00.jpg 次のスレタイはRCPとかJface入れた方がいいと思うんだ。 eclipse3.3M6出たけど、WPF対応SWTって何か快適なの? WinXPに.NET Framework 3.0と一緒にインストールしてみたけど、激重だった。 試しにRCPをちょこっと触ってみたら、なんか恐ろしく便利そう
なんだけど、全体がどうなってんのかさっぱりわかんない。 >86
たぶん、WPF用に最適化してるんじゃないかな。
ダブルバッファリングとかXPだと見栄えが良くなるけど、VISTAだと重くなる原因なだけだから。
>>75
おお!あるんだこういうの。
前からこういうのがあればなあと思っていた。
まだスレを見ていたらその商品名教えて ブックスタンドって書いてあんじゃねえか
イメ検して探せ 質問なんですが、
VEにある横からスライドで引っ張り出せるツールバー?
みたいのを、SWTでどうやったら作れるの? SWTについて教えてください。
a.javaにあるa_shellからbutton押下で同じa.javaにあるa1_shellを呼び出す方法はわかるのですが
a.javaのa_shellからb.javaにいるb_shellを呼び出すにはどうすればよいですか?
a/b.java共に同じプロジェクト内で作成しています。
イメージとしてa_shellがメインアプリのshellでb以降のshellがそこから複数呼び出せる小画面という感じです。 SWTの質問じゃないな。
まあ、そういう疑問がわくのもわかるが。
Javaの言語の勉強をもすこしやりなされ。 >>98
もっと精進します、スルーせずにわざわざありがとです。 >>97 参考までに・・・
public class A {
A(){
Display display = new Display ();
Shell shell = new Shell (display);
Button btn = new Button(shell, SWT.PUSH);
btn.setText("B-shellの起動");
btn.pack();
btn.setLocation(20,20);
Button btn2 = new Button(shell, SWT.PUSH);
btn2.setText("A-shellの子を作成");
btn2.pack();
btn2.setLocation(150,20);
btn.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e) {
B.createBShell(e.display);} });
btn2.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e) {
B.createChildShell(e.display.getActiveShell());
}});
shell.setSize (300,100);
shell.open ();
}
(以下省略)
■ このスレッドは過去ログ倉庫に格納されています