統合開発環境Eclipseプラグイン開発QAat TECH
統合開発環境Eclipseプラグイン開発QA - 暇つぶし2ch237:デフォルトの名無しさん
05/04/18 09:16:54
>>235
誤爆か?
CG板で聞いたほうがいいぞ。

238:デフォルトの名無しさん
05/04/19 22:56:54
eclipseみたいなプラグイン機構を持つアプリ作りたいんだけど
どうやんの?
土台があって、あとはプラグインをぽんぽんってかんじぃ。

239:デフォルトの名無しさん
05/04/19 23:54:00
>>238 マジレスだとURLClassLoaderを使ったクラスのロードを覚えろって
話になるが、スレ的にはIPlatformRunnableを実装しろって話になるな。
後々のことまで考えると後者をすすめる。

でも個人的にはOscarとか使ってみたい気もする。

240:デフォルトの名無しさん
05/04/20 16:21:56
すいません、Junitでprivateのテストを行おうとしているのですが、
ブレイクし、ステップインしていくと
「ソースファイルが見つかりません。
JARファイルjunit.jarにソース添付がありません。
・・・・」
と表示されるのですが、回避方法を教えていただけませんか?」
すれ違いでしたら、申し訳ございません

241:デフォルトの名無しさん
05/04/20 16:50:56
確かにスレ違いだ。
jarに対応するバージョンのjunitのソースをattach.

242:デフォルトの名無しさん
05/04/25 18:18:28
RCPでいろいろ試してるんですが、知ってる人がいたら教えてください。
こいつらで頭を悩ませてます。
get/savePluginPreferences()
get/saveDialogSettings()
get/savePreferenceStore()

PreferencePageではIPreferenceStoreを使うようになっているのに、savePreferenceStore()は3.0からdeprecatedなのですが
これはPluginPreferencesに格納しなおして保存しろという事なんでしょうか?
また、DialogSettingsもAPIで保存可能ですが、PluginPreferencesとの使い分けがよくわかりません。
「これ読め」 でもいいので、何かヒントありませんか?

243:デフォルトの名無しさん
05/04/25 21:23:53
>>242 AbstractUIPluginのリファレンスの冒頭部分が一番親切で
手取り足取り書いてあると思う。

244:242
05/04/26 09:38:53
>>243
どうもです。 javadoc読んでみました。
この辺は3.0から現在進行形でリファクタリング中っぽいですね。
PreferenceStoreはJFaceのためにあるもので、coreRuntime的には
PluginPreferencesを使え、って感じでしょうか。
DialogSettingsとの使い分けはちょっとまだ理解できません。
news://news.eclipse.org/eclipse.platform と news://news.eclipse.org/eclipse.platform.rcp も読んでるんですが
未だ決定的な回答が出てませんね。 (読めてないだけですか orz)
ヘタに両方使うと管理が面倒なんでやめようかな。
PreferencePageとの使用の違いを、現実的にどう解決するかは書いてないので
とりあえずPlatformをデバッガで追ってみます。

245:デフォルトの名無しさん
05/04/26 10:55:56
なんでそんな難しく考えるのかなあ.
Pluginが持っている「設定」ページの情報はgetPluginPreferencesStoreで
取得できる場所に保管してあるってだけだよね.そうすれば
自分でいろいろ管理しなくてもFieldEditorとか使う限りは
何もしなくてもいいし,自分でウィジットつかってUI作ったときは
上述のメソッドで取得したインスタンスにデータを放り込めってことでしょ.

で,汎用的なダイアログとかウィザードとかの設定は
DialogSetting使えと.

あとOfficialEclipseFAQs 3.0とか定番FAQは読んだ?
Webでもお試し版が読めるけど,書籍のCDROMにプラグイン版
が入ってるから買っちゃったほうがいいね.

246:242
05/04/26 12:34:07
すんません。 大ボケをかましておりました。 逝ってきます。 orz

自分のとこだと、PreferenceStoreに入れたはずの設定が保管されないので
プラグインのstop()でsavePreferenceStore()してみたら、内部的にsavePluginPreferencesを呼んでたので
PluginPreferencesに入れなおさないとダメなんか~ と思ってました。
で、ふと思い出して確認すると、実行時にワークスペースをクリアしてました・・・ orz

ダイアログやウィザードの設定、って今のところ保存したいような物は作ってないので
現段階では俺にDialogSettingsは必要無い、ってことですね。 これですっきりしました。

OfficialEclipseFAQのWeb版は読んだんですが、やっぱ書籍が欲しいですね。 買ってみます。
ありがとうございました。

247:デフォルトの名無しさん
05/05/15 16:37:15
メインのエディタ部分の上部タブを切り替えたときのイベントってどのように拾えばいいのでしょうか?
composite.getParent()
composite.getParent().getParent()
composite.getParent().getParent().getParent()
上の三つに対してあらゆるListenerをaddしてみたのですが
拾えませんでした

メインのエディタ部分の上部タブを切り替えるって言うことは
他のプラグインの動作にもかかわるので、出来ないようになっているのでしょうか?

248:デフォルトの名無しさん
05/05/15 20:50:06
>>247 そうやってMVCでいうところのビューの一番下の層である
SWT層で解決するのは間違っているけど、とりあえず質問に答えるならば
あのタブの部分はSWT層ではCTabFolderで実装されているので
editor内のcompositeの直系の祖先だけ調べても駄目。それぞれの祖先の
兄弟にCTabFolderがいるか調べないと。
public void printControlNameTree(Control control) {
if (control == null)
return;
System.err.println(control);
if (control instanceof Composite) {
Composite composite = (Composite) control;
Control[] controls = composite.getChildren();
for (int i = 0; i < controls.length; i++) {
Control control2 = controls[i];
System.err.println("\t" + control2);
if (control2 instanceof CTabFolder) {
CTabFolder folder = (CTabFolder) control2;
CTabItem[] items = folder.getItems();
for (int j = 0; j < items.length; j++) {
CTabItem item = items[j];
System.err.println("\t\t" + item);
}
}
}
}
printControlNameTree(control.getParent());
}
こんな感じのメソッドにcompositeを渡して調べてごらん。
あとはCTabFolderのAPIリファレンス見れ。

249:デフォルトの名無しさん
05/05/16 12:09:11
ああ,べつにSWTにこだわってるわけでもないのね,ごめん.
ならIWorkbenchPage#addPartListenerで各Partに関する
イベントが取得できる。ただし,WorkbenchPageはワークベンチ
ウィンドウを新しく生成したりするとこちらも動的に生成される.
いちどリスナを登録した後でWindow->New Window...したら
新しいウィンドウのほうでイベントがとれないとかそういう
ことがないよう気を付けること。

250:デフォルトの名無しさん
05/05/17 20:18:46
あまねく【遍く・普く】
[意]ひろく。
[例]あまねく天下に名が通っている。

251:デフォルトの名無しさん
05/05/18 00:26:06
見事な誤爆

252:デフォルトの名無しさん
05/05/20 23:36:44
JSFプラグインの開発止まっているのかなぁ・・・
おれ・・作っちゃうよほんとにつーかできているんだが
出し方を考えている
儲かるならそのほうがいいし 

253:デフォルトの名無しさん
05/05/24 23:33:42
ファイルの読み書きをしないエディタってどうやるんでしょうか?

254:デフォルトの名無しさん
05/05/24 23:38:34
それはエディタじゃない

255:デフォルトの名無しさん
05/05/25 00:12:09
>>253 基本的な作り方はファイルに対するエディタと同じ。ただ、
編集したい何かを読むためのIEditorInputを実装したクラス
と、そのクラスを使って何かを読み込むIEditorPartを実装した
エディタクラスを実装する必要がある。

ファイルの場合は、FileEditorInputがあらかじめ用意されていて、
それを扱えるエディタクラスがいくつも用意されているから自分で
用意する必要がないだけで、基本的な構造は同じ。

256:デフォルトの名無しさん
05/05/25 09:44:51
>>253-254
ヒント:チラシの裏

257:デフォルトの名無しさん
05/05/25 21:57:04
>>253
俺もオブジェクトにIEditorInputを実装して
エディタで編集してDBを読み書きさせてるが、正直かなり面倒。
そのエディタを作るのもかなり面倒。

IResourceとか、もっと抽象化してファイルの概念から離れればいいのにねー。


258:デフォルトの名無しさん
05/05/26 11:34:28
とりあえず、ちらしの裏にでも書いてろ。な?

URLリンク(yuukiremix.s33.xrea.com)


259:デフォルトの名無しさん
05/05/26 14:03:04
これはjavaで動いているのですか?

260:253
05/05/26 22:50:45
>>255
>>257

ありがとうございます。
やりたいのはDBの読み書きなのですが
ファイルを読み書きしないので、どのようにして
エディタを立ち上げてよいかわからないのです。

261:デフォルトの名無しさん
05/05/26 22:56:44
>>260
それはエディタプラグインではなくビュープラグインとかにすれば?

262:デフォルトの名無しさん
05/05/26 23:27:52
>>260 まあビューでいい気もするけど、エディタでやるなら
IWorkbenchPage#openEditorするアクションでも作ったら?

263:257
05/05/26 23:38:31
>>260
エディタだと拡張子での関連付けになるからねー。
一旦ローカルにファイルとして保存して、
最後にDBに書き出す方法も考えたけども
ロックとか競合の処理が面倒なんでやめた。

今のところ、openEditorするアクション作って開いてる。

始めはビューにしてたんだけど、isDirtyとか保存の処理を考えると
エディタの方が使いやすい気がする。 しかし作るのは面倒な罠。

264:デフォルトの名無しさん
05/05/26 23:42:16
ただのエディタ作るのそんな面倒かなあ。単にエディタの構成を
しらないだけで下調べとかで時間とってるだけなんじゃないの?

265:
05/05/26 23:47:41
262のいうとおり適当なIEditorInputを実装したクラスを作ってそれとエディタのIDを指定してIWorkbenchPage#openEditorを呼び出せばいいのでは。


266:257
05/05/27 01:10:36
>>264
テキストエディタじゃなくて、フォームエディタなんです。
で、複数のページにGUI部品を配置してエンヤコラ、と。
PDEのplugin.xmlエディタみたいな感じですね。
やってみると結構手間ですよ。

267:デフォルトの名無しさん
05/05/27 08:36:53
>>266
それはエディタだからとかビューだからって観点とは
外れているよね。同じことをビューでやったら楽になる
わけではないし。ちなみにフォーム自体のコードは
「俺は」見通しよくて好き。

268:デフォルトの名無しさん
05/05/28 00:30:24
>>257
>PDEのplugin.xmlエディタみたいな感じですね。
それってマルチページエディタとかいうやつか?

269:デフォルトの名無しさん
05/05/28 00:45:32
>>268
だね。
つーかマルチページでないフォームエディタが欲しい。
1ページしか使わないのに、下にタブがあると邪魔なので。

270:デフォルトの名無しさん
05/05/30 15:40:46
internalAPI使うと警告出るようになったね。

271:デフォルトの名無しさん
05/05/30 20:35:20
eclipseのソースみながらFormEditor実装しようとしてるがワカンネ

272:デフォルトの名無しさん
05/05/31 02:02:22
すごい基本的な質問かもしれないけど、GEFの画像データをGIFやBMPに出力する方法ってある?

273:デフォルトの名無しさん
05/05/31 23:19:00
>>272
ImageからGCを生成して、paint(GC gc)でImageに書き込み、
ImageLoaderでファイル出力じゃ駄目かな。

274:デフォルトの名無しさん
05/06/01 22:25:11
>>273
サンキュ、試してみます

275:デフォルトの名無しさん
05/06/02 00:57:55
>>273
ImageLoader GCあたりでググッタラ、それっぽいソースを見つけたのでコピペで解決しました。

URLリンク(springide.org)

なぜかGIFやPNGだとエラーがでるけど、BMPやJPGはちゃんと動いているので問題なし。
感謝!!

276:デフォルトの名無しさん
05/06/09 22:47:50
ヘルプを開いた時に右ペインに表示されるHTMLを変更しようと
org.eclipse.core.runtime.products を拡張して、
preferenceCustomizationで設定ファイルを指定、
workspace\.metadata\.plugins\org.eclipse.pde.core\xxxx\config.iniに
eclipse.productの設定を追加した。

が、まったく反映されない。
どうもconfig.iniが実行するたびに更新されて、
eclipse.productが消されるのだが、どうすればいいんでしょうか?


277:デフォルトの名無しさん
05/06/09 23:18:50
>>276 config.iniの自動生成をやめさせるだけだったら、Eclipseアプリケーションの
実行設定の中にオプションがあるのでそれを切る。
ただし、Eclipseのbrandingをやるのだったら、プロジェクト中に
.productファイルを作りその中でconfig.iniも含めてPDEを使って管理すべきだと思う。
workspace\.metadata\.plugins\org.eclipse.pde.core\ はPDEを通さずに
自分で触っていい場所ではないから、このままだと同様のトラブルは続くよ。

278:276
05/06/10 00:07:06
>>277

すばやいレスありがとうございます。
.productファイルを作り~
以降がよくわからないのです、よければ教えてください。

279:デフォルトの名無しさん
05/06/11 16:54:46
基本的な話だろうが、Javaプロジェクトの作り方が分からん。
IProjectをcreateしてからどうしたらいいんだ。
ネイチャとかそのへん?

280:デフォルトの名無しさん
05/06/11 17:16:10
>>279
Official eclipse 3.0 FAQsのFAQ351

281:デフォルトの名無しさん
05/06/11 18:00:44
Web版に載ってない……。

282:デフォルトの名無しさん
05/06/11 18:33:23
Webにはないの? まあ書籍版は一冊買っておいたほうがいいよ。
Javaプロジェクト作るだけならnature ID設定しとけって話だけど、
そのほかにも設定項目あるし。
URLリンク(help.eclipse.org)

283:デフォルトの名無しさん
05/06/25 15:44:40
Eclipse RCPをつかったリッチクライアントで、
右上?のアイコンとテキストのパースペクティブ一覧が表示されません。
どうすれば表示できるのでしょうか?

バージョンはEclipse 3.0です。



284:デフォルトの名無しさん
05/06/25 16:07:33
>>283
setShowPerspectiveBar(true)

285:デフォルトの名無しさん
05/06/25 16:23:34
ステータスバーにテキストを表示って
位置指定ってできないの?

addしていくと右から詰まっていくのだが
左端からテキストを表示したい。
どうやって指定するんでしょうか?

286:デフォルトの名無しさん
05/06/25 17:15:16
>>285
addじゃなくてinsertBefore

287:デフォルトの名無しさん
05/06/25 23:15:39
3.1から、ステータスバーに漏れなくメモリメーターが付いてきた。
結構喰らってるのね。 俺のアプリだと10~11MBぐらい炒ってる。
このメモリ使用量はEMFのせいか?
まあ、こまめにGCされてるようで、派手に増えたりする事はないし
数千件のListをぐるぐる回してても結構軽い。


288:283
05/06/26 16:30:43
>>284
ありがとう。

289:デフォルトの名無しさん
05/06/27 23:05:28
ビューの最大化、最小化のアイコンを非表示にできますか?
また、必ず表示していたいビューの一部があるのですが、これ以上小さく
リサイズできないようにするといった設定は可能でしょうか?
バージョンは3.0です。


290:285
05/06/28 23:23:44
>>286
確かに左から詰まっていった。
でも左端の1/3程が依然余白がある。

StatusLineContributionItem作る時に幅を大きくとっても埋まらない。
なんか気持ち悪い。

291:デフォルトの名無しさん
05/06/29 01:09:45
FastViewが埋まる場所ではなくて ?

292:デフォルトの名無しさん
05/06/29 06:40:22
子の方にプラグインしてるか、自分の後にプラグインしている奴がいるかどちらかだろうな。

293:285
05/06/29 21:10:39
>>291,292
FastView

294:285
05/06/29 21:11:12
>>291,292
FastView

295:285
05/06/29 21:15:54
>>291,292
書き込みミスった。
FastViewを表示してみたけど、FastViewの領域とinsertBeforeした
ステータスの間があいている。
WorkbenchAdvisorを継承したクラスで
IStatusLineManager statusLine = configurer.getStatusLineManager();
で取得したstatusLineにステータスをaddしてんだけど
何か根本的に間違ってるのかな?

296:デフォルトの名無しさん
05/06/30 05:22:13
RCPならさきにそういえよ。それなら他のプラグインとかぶる心配が
ないから、素直にstatusLine.setMessage()でいいだろ。

297:デフォルトの名無しさん
05/07/21 23:33:12
PDE JUnitでキーイベント処理のテスト書きたいのですが、
イベントを発火させる方法がわかりません。
スタティックメソッドかなんかで提供されてないでしょうか?

298:デフォルトの名無しさん
05/07/24 20:22:13
ビュータブの×ボタン押下でビューが閉じるが
それをキャンセルすることはできるのでしょうか?

299:デフォルトの名無しさん
05/07/25 00:08:21
>>297 キーイベントの概念はSWTレベルまで降りることになるから、
目的のWidgetをpublicでさらさないとJUnitでテストできなくなるんじゃないかな。
それでもいいなら、Widget#notifyListenersでいいかと。

300:デフォルトの名無しさん
05/07/25 21:39:25
同期について質問

Eclipse のヘルプに、
「リソース変更リスナは、スレッドセーフである必要があります」
とか書いてあるのだけど、
標準に用意されているEclipseのプラグインに含まれるクラスで、
どのメソッドがスレッドセーフに呼べるかが分からない。

勘だと、リソース関係のプラグインはスレッドセーフに呼べそうな気が
するのだけど、なかなかソースが複雑でよく分からない。

お手本にしていた「Eclipseプラグイン開発」という本では、後半で、
作成したイベントの仕組みが、実は複数のスレッドからトリガーされる、
みたいなことが書いてあるが、
リスナーを蓄えるために作成したコレクションの
同期の必要性については指摘していないし、
やっぱり、この程度のいい加減さでいいんでしょうか?


301:デフォルトの名無しさん
05/07/26 00:00:08
>標準に用意されているEclipseのプラグインに含まれるクラスで、
>どのメソッドがスレッドセーフに呼べるかが分からない。

UI周りのAPIに関しては、「リソース変更リスナは、スレッドセーフである必要があります
(Some resource change events are triggered during processing that occurs in a
background thread. Resource change listeners `should be' thread-safe.)」
のもうちょっと先に
>See Threading issues for a discussion about thread safety with
>the UI.
って書いてあって、このリンク先に大体書いてある。

>勘だと、リソース関係のプラグインはスレッドセーフに呼べそうな気が
>するのだけど、なかなかソースが複雑でよく分からない。

元々複数のスレッドからリソース触るやつがいるからリスナは
どのスレッドから呼ばれてもいいように作っておけって話だからね。

ただリソースデルタが絡む処理の非同期実行は内容がワークスペースの
状態といつでも対応取れている保証がされないからやらないこと。
あとリソース変更のときはちゃんとRule使って排他制御しておけば
深刻な事態にはならないような気がする。狭義のスレッドセーフ
とは外れるけど。

302:デフォルトの名無しさん
05/08/07 02:48:36
とりあえずおまいらのおきにのプラグインおしえれ!


303:デフォルトの名無しさん
05/08/07 03:16:50
スレ違い

304:デフォルトの名無しさん
05/08/16 14:51:01
RCP (3.1)でハマってます。 プロジェクト内のjarにクラスパスを通すと単体起動できません。

テンプレートのMailerとか適当なのからプラグインプロジェクトを作って、.productファイルを作って
Launch Productで動作、Export Eclipse Productで単体起動し正常動作を確認しました。
このプロジェクトでcommonsのライブラリを使用したかったので、./libを作りjarを置いて
MANIFEST.MFのRuntimeでクラスパスに追加し、BuildでBinaryBuildに./libを追加しました。

この状態で、Launch Productすると正常動作します。
ですが、Exportしたexeを起動すると、エラーログを吐いて終了します。
ログにはMANIFEST.MFのOverviewで指定したプラグインクラスがClassNotFoundExceptionになってます。

何か根本的に見落としてたり、間違ってたりしてるんでしょうか?

305:デフォルトの名無しさん
05/08/16 16:24:00
>>304
一応自分でも手を動かして確認したけど、jarが入っているプラグインが
アプリケーションプラグインではなく、かつjar'd pluginではなく、
かつライブラリ指定がMANIFEST.MFではなく2.x世代のようにplugin.xml中で
宣言されていることを守れば自分で作ったプラグインでも外部jarの同梱が出来た。

でもまあeclipse同梱のapache commonsのプラグインをつかうのがてっとり早いね。

306:デフォルトの名無しさん
05/08/16 22:03:13
>>305
検証してもらってどうもすみません。 ありがとうございます。

jar'dはダメぽでしたか。JWSで配布しようと思ってたんですが、
ちょっと手間隙かけないといけない感じですね。 将来のバージョンアップに期待。
apache commonsプラグインの存在は知りませんでした。チェックしてみます。

307:デフォルトの名無しさん
05/08/27 22:54:59
毎度お世話になっとります。

EclipseRCPで開発してます。
質問です。

ボタンを押すなどのアクションによってビューを閉じたり、
最小化したりすることは可能でしょうか?


308:デフォルトの名無しさん
05/08/29 09:46:33
ダメっぽい。
org.eclipse.ui.internal.WorkbenchPage.toggleZoom で定義されてる。
そういう操作はユーザーにまかせる方針らしい。

代わりに hide show は使えるので、そっちを使えということかな。

309:307
05/08/29 22:26:16
>>308
サンクスコ

意外と出来ないこと多いな…


310:デフォルトの名無しさん
05/09/02 23:19:21
age

311:デフォルトの名無しさん
05/09/06 17:10:26
Java質問スレからコピペで申し訳ない・・・。

今、Struts×eclipsで開発やってるけど
立ち上げたらコンソールにこんなメッセージが・・・

2005/09/06 16:54:29 org.apache.struts.tiles.TilesRequestProcessor initDefinitionsMapping
情報: Tiles definition factory found for request processor ''.

どなたかご教授おながいしまつ!

ああ~、マッピングうまくいかねーよ畜生!orz

312:デフォルトの名無しさん
05/09/06 17:20:05
スレ違い。

313:デフォルトの名無しさん
05/09/06 17:33:00
>>312
すまん、間違えてしまったよ・・・
回線切ってつ(ry

314:奈々氏
05/09/12 15:21:23
PDE開発でToolBarにはアイコン付のボタンをセット出来ますが
アイコンだけでなく文字列も表示するにはどうすればいいのでしょうか。


315:デフォルトの名無しさん
05/09/12 15:54:16
ツールバーってってプルダウンさせてメニュー開かないと
ラベルが表示されないと思ってたんだけど違った?

316:315
05/09/12 16:00:54
失礼。コード上からアイテムを追加したら普通にラベルの
表示はできるね。拡張ポイントで定義したアクションの
ラベルを表示するやり方は知らないけど。

317:奈々氏
05/09/12 17:16:51
どうも、奈々です。
IEなどのようにアイコンとそのアイコンが示す文字名を表示する
コードが知りたいです。
アイコンもいいけど初心者や年配者には文字のがわかりすい
そのほうが親切じゃないでしょうか。
そういうことがEclpseで表現するのが難しい。

318:デフォルトの名無しさん
05/09/12 17:25:10
iconを空にしておくとlabelだけ表示されたような気がする。
ソース追ってないから詳しい動作はわからんけど。
どっちか片方・両方と使い分けたいよねぇ。

319:奈々氏
05/09/12 18:43:51
どうも、奈々です。
まあ、妥協して文字だけは表示したいのでその方法で検討してみます。
でも両方表示する方法はなものか?

320:デフォルトの名無しさん
05/09/13 09:55:23
ツールバーを取得してToolItem追加すればなんでもできる。

321:奈々氏
05/09/13 11:33:33
デフォルトの名無しさんどうも、奈々です。
そこをもう少し詳しく

322:318
05/09/13 13:19:51
気になったのでソース追ってみた。 ちなみにeclipse3.1/jface3.1.0。
org.eclipse.jface.action.ActionContributionItem の680行あたりだな。
コメントに書いてあった。
「テキストが表示されるのは、imageを持っていないか、MODE_FORCE_TEXT が指定された時」

たぶんビューなんかだと
getViewSite().getActionBars().getMenuManager().getItems()[]
をActionContributionItemにキャストして
setMode(ActionContributionItem.MODE_FORCE_TEXT)
すればいいらしい。 はーめんどくせ。

323:318
05/09/13 13:41:37
動作検証したからこれあげる。
パラメータはIMenuManagerとかIToolbarManagerとかブチ込んで。
setMode()内部でupdate()かけてたけど、表示がかわらんようなら自力update(true)してくれ。

private void showText(IContributionManager manager) {
IContributionItem[] items = manager.getItems();
for (int i = 0; i < items.length; i++) {
if (items[i] instanceof ActionContributionItem) {
ActionContributionItem ac = (ActionContributionItem) items[i];
ac.setMode(ActionContributionItem.MODE_FORCE_TEXT);
}
}
}

324:奈々氏
05/09/13 18:47:42
どうも、奈々です。
アイコンを指定しないと文字が表示されました。
その式だとアイコンも文字も両方表示されるのですか。


325:デフォルトの名無しさん
05/09/13 20:14:25
開発環境のプラグイン開発に忙しくてなかなか本題の開発に進めない人たちのスレ…

326:奈々氏
05/09/13 20:32:52
どうも、奈々です。
実は今、Eclipse RCPで開発しています。
なかなか日本語の資料がなくこまっています。
プラグインは奥が深いです。


327:デフォルトの名無しさん
05/09/13 23:14:58
イチロー永田のネカマモードみたいな名前だ
ばれそうになって慌ててどっかのおばはんをナナに仕立てたみたいな

328:デフォルトの名無しさん
05/09/18 02:09:36
ファイルに関連付けられたエディターを開くにはどうすればいいのでしょうか?


329:デフォルトの名無しさん
05/09/18 09:33:32
IWorkbenchPage.openEditor

330:デフォルトの名無しさん
05/09/18 14:30:31
openEditorでファイルを開くときにjava.io.FileをIFileに変換
したいのですが、どうすればいいのでしょうか
IDE.openEditor(page, file);



331:デフォルトの名無しさん
05/09/18 14:35:00
そもそも質問の前提が間違ってる。
リファレンスマニュアルくらいまともに読め。

332:デフォルトの名無しさん
05/09/18 14:58:45
ごめんなさい。マニュアル読みます。

外部ファイルをEclipseのエディターで開きたいのです。
メニューの「File」→「Open File...」の動作を
実装したいのですが。マニュアル読んでもさっぱり。


333:ta ◆kMUdcU2Mqo
05/09/18 17:27:43
俺もEclipseプラグイン作りやってみよーかと。

334:デフォルトの名無しさん
05/09/18 22:03:05
>>332 なんか最初の質問とかわってねー? 条件の後出しは
悪い質問の典型例。ま いいけど。とりあえずOpenExternalFileActionよめ

335:デフォルトの名無しさん
05/09/18 22:26:04
最近、いい本でないねぇ。
プラグイン開発の流行去ったかな?

336:デフォルトの名無しさん
05/09/18 22:31:06
そうか? 結構出続けていると思うけどな。
定番のthe eclipse seriesからも今度
Eclipse Rich Client Platform: Designing, Coding, And Packaging Java Applications
Jeff Mcaffer, Jean-michel Lemieux
0321334612
が出るし期待している。


337:デフォルトの名無しさん
05/09/19 10:16:24
>>336
お薦めとかあったらおせーて

338:奈々氏
05/09/19 11:51:32
それはアマゾンで注文しました。
予定は10月20ごろです。
ただバージョンは3.01ぽい

339:奈々氏
05/09/19 12:03:02
Eclipseプラグイン開発をする初心者ですが拡張ポイントや関連の関数
を調べるのに検索機能を使用にて何か関連するキーワードで検索するのですが
うまくゲット出来ません。
例えば「自動的に新規更新を検索して通知する」で検索する場合です。
ちょっとスレッドが違うかもしれないが。

あと、お薦めの本ですが技術評論社の「Eclipseパーフェクトマニュアル」
Ver1.5がお薦めです。

340:デフォルトの名無しさん
05/09/19 12:16:58
>>337
URLリンク(www.awprofessional.com)
の4, 5, 7は実際買ってみて必須だと思った。1は発注中。8はEMFをやるなら必須。
というかこのへんは買っておかないとnewsgroupでの話について
いけない。「the book嫁」とか出てくるし。7と8は邦訳あり。
特に8は邦訳のほうでかなり補足されているからそっちのほうがいい。

あとは
URLリンク(www.awprofessional.com)
をつまみ食いで読む感じ? 邦訳もあるけど版が古いからできれば原著で。

>>338
3.1向け

341:デフォルトの名無しさん
05/09/19 12:37:14
>>339
とりあえず340で挙げたerich gammaとkent beck両巨匠の本読んだら?
プラグイン開発に必要な項目を一冊の本に全て盛り込むのは不可能なので
どう必要な情報を集めていくかという視点で書かれている。eclipseの
ソースを実際に追ったりね。

342:デフォルトの名無しさん
05/09/19 14:15:36
全然関係ないけど聞いてくれ
あれだけの洋書を買ってまで読もうとする忍耐・やる気のある人は
Eclipseのソースを読まないのかなと思う・・・
俺なら洋書読むよりEclipseのソース見ると思う(英語わかんないから
Eclipseのヘルプだけ読んでも足りないってことなのか?

実際そういう洋書にはプログラムコードが多くはいっているのか不安だ


343:デフォルトの名無しさん
05/09/19 15:28:05
プラグイン開発もけっこう大変なんだな。
eclipseプラグインだけで1つの領域を形成してる。

UMLとソースを連携するオリジナルのプラグインを趣味で作ろうと
思ってるんだけど、敷居高いのかも。

344:デフォルトの名無しさん
05/09/19 16:29:11
誰もソース読む必要がないなんてことは言ってないよな。

345:デフォルトの名無しさん
05/09/19 16:36:24
>>344
じゃあなぜ本読む
ソース見ればわかるのでは?

346:デフォルトの名無しさん
05/09/19 16:42:55
ソースに必要なことが全部かかれていたら、eclipse.orgの開発陣だって
自ら本を書こうなんて思わないよな。それこそ「ソース読め」で終わらせたい
はず。the eclipse seriesの本はそういう本なんだよ。

347:デフォルトの名無しさん
05/09/19 16:53:48
>俺なら洋書読むよりEclipseのソース見ると思う(英語わかんないから
すまん、英語わかんないっての読み逃してた。
そりゃソース読むしかないよな。

348:デフォルトの名無しさん
05/09/19 18:06:40
eclipseプラグイン開発って本はどうなんでしょう?
今ぱらぱら読んでるんですけど。

349:デフォルトの名無しさん
05/09/19 18:40:14
なんつーか、ガンマたんとベックたんの本だなあって感じ。

350:デフォルトの名無しさん
05/09/19 18:53:57
二人のモノしゃぶった事あるぐらい馴れ馴れしいな

351:奈々氏
05/09/19 22:17:55
そのソースのどこを見ればいいかがわからんのです。
自動更新をしたい場合、どこに手がかりがあるか調べる方法をしりたい。
そうすればあまり本を参考しなくてもいいのでは

352:341
05/09/19 23:16:50
>>351 gamma&beckの本はなにをとっかかりにしてeclipseのソースをどう
追いかけるかについてまで述べられているって書いたつもりだったが伝わらんかったかな。
351が知りたいのってそういうことでしょ?
俺がよくやるのはplugin registry view使って拡張ポイント絡みから追いかける
とか、ワークスペースにインポートしてAPIリファレンスのそれっぽい
メソッドに対して検索かけるとかかな。F4とCtrl + Alt + H押しまくり。

で更新自体は、いまソース追った感じだとorg.eclipse.update.configurator.ConfiguratorUtils
で現設定を取得してorg.eclipse.update.standalone.UpdateCommandを
参考にして各フィーチャーのアップデートをかければよさそうだけどね。

353:341
05/09/20 00:07:07
って、UpdateJobってそのもののクラスあるじゃん。
Job job = new UpdateJob("update",true,true);
job.schedule();
で終了。

354:奈々氏
05/09/24 10:06:26
至急お願いします。
メニューの表示、非表示はマニフェストファイルで設定できますが。
動的につまり実行中にメニューの表示、非表示を制御できますか。
たとえばあるボタンが押されたらメニューを非表示にするとかです。

355:デフォルトの名無しさん
05/09/24 11:28:58
できます。

356:奈々氏
05/09/24 11:32:45
教えてください。

357:デフォルトの名無しさん
05/09/24 11:46:48
これがわからんってことはこれまでの質問の中からIMenuManagerとか
IContributionManagerがなにかとかメニューやツールバー周り全然
調べずにコピペでしのいでいたってことね。答える気失せるやつ多そうだ。

358:奈々氏
05/09/24 12:12:01
たしかに素人ですみません。
RCPではメニューの生成をApplicationActionBarAdvisorクラスのfillMenuBarなどで
作成するのですが、そこで作成したメニューを開いたパースペクティブの中のビューなどから
制御または参照する方法がわからないのです。
たしかにプラグイン開発は素人でわからないことばかりでIContributionManagerが
なんであるかもよくわかりません。


359:デフォルトの名無しさん
05/09/24 12:31:06
ここの作業をちゃんと理解しつつ進めていれば、MenuBarへの
参照を使いまわすとか後で検索しなおすとかやりようはいくつか
自分で思いつくだろうに。

大体、至急とかいうなら354で聞くときに358の内容を全部
かいとけよ。それだから「できます」とかふざけた回答しかでてこねーんだお。

360:奈々氏
05/09/24 12:58:21
自己レスです。
Singletonクラスの内部でメニューのアクションクラスを保持して
ビューの方で参照すればいいようだ。


361:デフォルトの名無しさん
05/09/26 09:44:56
はたしてこの妙なコテハンの中で何が起こっているのか

362:デフォルトの名無しさん
05/09/27 17:30:35
質問です。

org.eclipse.swt.widgets.Text で ASCII 文字のみ
入力できるようにするには、どうやったらいいですか?

コンストラクタ( Text(Composite parent, int style) )の
style に SWT.ALPHA を指定してインスタンス化したけど、ダメでした。

よろしくお願いします。

363:デフォルトの名無しさん
05/09/28 01:10:35
styleに何を指定できるかはドキュメントに書いてあるから、読めばわかる。

で、ASCII文字以外のみってのは、キー入力自体を無効にしたいって事?
それなら、addKeyListener() でキー入力をフックして、
KeyEventから入力されたcharを取り出し、その文字が気に入らない場合は
doit = false; してイベントをキャンセルしとけばOK。
俺は面倒臭いので、Stringにしてmatches(regexp)させてる。
遅かろうがどうでもいいので。

364:362
05/09/29 15:02:07
>>363
お答えありがとうございます。

addKeyListener()でキー入力をフックして、
matches(regexp)を使ってやってみようと思います。


365:デフォルトの名無しさん
05/10/16 10:43:41
RCPをアップデートサイトを利用してUpdateしたいとおもっています。

現在は.productファイルに記述した内容より製品のエクスポートを使って
初回の配布ができるようになっています。

アップデートを行うためにフィーチャーが必要だとおもうのですが。
.productファイルに記述した製品を構成するプラグインおよびフラグメントの
リストを全てをフィーチャーのパッケージされるプラグインおよび
フラグメントに写し、製品をフィーチャーベースの製品構成に
変更すればいいのでしょうか?

製品の情報をフィーチャーに写すという二度手間に違和感があり
フィーチャーの使い方が間違っているのかと思い質問させていただきました。

環境はEclipse 3.1.1です。


366:デフォルトの名無しさん
05/10/16 12:03:43
>製品をフィーチャーベースの製品構成に
>変更すればいいのでしょうか?
そのとおり

367:365
05/10/16 13:47:16
>366
回答ありがとう。

フィーチャーに写すのは若干面倒だな。

RCPアプリの更新はJWSかUpdate ManagerかWebRCP
になるのでしょうか?
どれが一般的なのでしょうか?

368:デフォルトの名無しさん
05/10/16 15:23:45
RCP自体一般的とは現状いえない。一番普及しているeclipseIDE
はupdate managerを使ってるけどね。

369:デフォルトの名無しさん
05/10/19 19:37:21
おい、
Canvasを使って自由に描画した絵をスクロールできるよう、
下記のように設定したんだ。

canvas = new Canvas(parent, SWT.V_SCROLL | SWT.H_SCROLL);

でも縦・横のスクロールバーは現れたんだが、スクロールバーをいじっても
何の反応も示しやがらねえ。

何かいじらなきゃいけないですか?
スクロールバーをいじったときに反応するリスナが何かありますか。

教えやがれ。お願いいたします。

370:
05/10/20 19:11:18
プラグイン開発プロジェクトのプラグイン依存関係にあるjarファイルにJavaDocを関連付けられません。
eclipse.org.runtime3.1.1とかのことです。よってShift+F2でJavaDocを表示させることができません。
普通のプロジェクトのインポートしたライブラリとかJar変数とかだったらJavaDocの設定ができるのですが。どうしたらいいのですか?

371:369
05/10/21 01:03:59
やい、いろいろ調べてみたら自己解決できました。

SWT.V_SCROLLで設定したスクロールバーは、
canvas.getVerticalBar() で取得できます。
H_SCROLLは当然getHorizontalBar()ね。

あとは取得したスクロールバーに addListner(SWT.Selection, new Listener(){処理...})
のメソッドで、スクロールした際の内部変数を設定。

内部変数に従ってpaintListner内で描画を行えばよいようです。

↓参考にしたリンク
URLリンク(www.eclipsewiki.net)
URLリンク(cjasmin.fc2web.com)

372:デフォルトの名無しさん
05/10/21 16:44:51
なぜ最初に
URLリンク(www.eclipse.org)
を確認しないかなあ、この子は。

373:369
05/10/22 01:02:02
>>372

うほっ
今後参考にします

374:デフォルトの名無しさん
05/11/13 14:35:45

toolバーに表示するアイコンの表示順位をプログラムで操作できますか。
メニューバーの項目は可能ですが、toolバーではうまくいきません。



375:デフォルトの名無しさん
05/11/14 21:32:11

例題のRCPを起動すると遅い
操作が遅いのでなく起動時間が長いように思う。
開発ツールとしてならいいがRCPで使用するには致命的だ。
CPUは1G、メモリ256Mつんでいる。
時間で15秒ぐらい。
起動オプションで64Mを256Mとかすれば少しはよくなるが
もっといい方法はないものだろうか。
たとえば、何かの設定または、プログラムを変更する方法はないか。
ほんとうにRCPは実用になるのだろうか。
知恵をかして。


376:デフォルトの名無しさん
05/11/14 23:08:37
>>375
おい、マルチすんな。
つーか、さっきは 1 Hz だったのにえらく速いマシンになったな。

で、別スレで言われたとおり、-Xmx256m 指定したはいいが、
メモリが 256MB だろ。少しは考えたらどうだ?

377:デフォルトの名無しさん
05/11/15 00:05:46
プログラムで早くする方法はないのでしょうか。
各マニフェストファイルの読み込みに時間がかかっているように思われるが

378:デフォルトの名無しさん
05/11/15 00:30:22
■幸福のコピペ(チョピペ)■
eclipseに貼り付けると□□□□■□□□□■□□□
□■■隠された文字が■浮き出るよ□□■■■□□□□
スレリンク(tech板)l50
□□□■■□■■□□□□□■■□□■■□■□□
237 :デフォルトの名無しさん :2005/11/14(月) 23:38:29
さあ話をそらしにかかりました□□□□■□□□■■□
□■■□□■□□□□■■□□■□□□□□■■□

379:デフォルトの名無しさん
05/11/15 22:06:03
プログラムで速くしたいならトレースオプションつけて調べろよ。

380:デフォルトの名無しさん
05/11/16 01:22:39
>>377
おまえの言う速くしたいとはハード増強なしで 15 秒を 3 秒にしたいとかだろ?
どうあがいても無理だ。あきらめろ。

381:デフォルトの名無しさん
05/11/19 00:16:40
キーバインドのプラグインを作りたいのですが、
何から始めればよいものか途方にくれてます。
誰かヒントプリーズ!

382:デフォルトの名無しさん
05/11/19 00:20:23
>>381
Eclipseは大半がオープンソースだから、
自分のやりたいことに近そうなプラグインを探して、ソースを読む。

383:デフォルトの名無しさん
05/11/19 11:41:51
まずオンラインマニュアル読め。

384:デフォルトの名無しさん
05/11/19 13:45:25
>>375
RCPで起動するのが遅い?なら毎回起動しなくても良いように所まで考えるのがソリューションって奴ね
プログラムレベルでは出来なくても運用でカバーって言葉をSEが適当に言ってると思ってない?

385:デフォルトの名無しさん
05/11/25 19:27:58
>>377
各マニフェストってたった一つじゃないのか?
それと時間がかかるっていっても
最初の一回だけではないかな?

386:デフォルトの名無しさん
05/11/25 19:29:00
マニフェストよりも自分書いたプログラムのチューニングすることを
優先した方がええ。

JARファイルを高速化して圧縮するツールって
なかったかな?
日本人が作ったとおもったが

387:デフォルトの名無しさん
05/11/28 08:56:16
RCPの起動時間が遅いのは読み込むプラグインが多すぎないか。
たしかに、javaが原因でもあるが、rcpでは最低限のプラグインの数でも

388:デフォルトの名無しさん
05/11/28 09:02:01
RCPを開発しているのだけれども
RCPの起動時間が遅いのは読み込むプラグインが多すぎるからじゃないか。
たしかに、javaが原因でもあるが、rcpでは最低限のプラグインの数でも
10数個あるまして、日本語になるとその倍近くふえる。その読み込みでも
xml解析でも時間がかかっているように見える。
もっと数をたとえば5個ぐらいにすれば早くなるんじゃないだろうか。

389:デフォルトの名無しさん
05/11/28 12:59:40
プラグインごとの起動時間はデバッグオプションで
ログがとれるんだがなぜ調べないのだろうか。

390:デフォルトの名無しさん
05/11/28 21:33:58
しかし、起動時間を計っても改善方法がない
RCPでは最低限のしかないのだからそれをはずすことはできないのではないか。


391:デフォルトの名無しさん
05/11/28 21:57:55
べつにはずそうと思えばはずせるけどね。
口より先に、まず手を動かせ。

392:デフォルトの名無しさん
05/11/29 15:45:02

しかし、RCPで開発するときの資料にのっている最低限のプラグインをはずすことができると
いうこと。
それでは最低限ではないことになるのではないか。


393:& ◆skM39zbRIs
05/12/09 00:20:42
すまん、質問させてくれ。
最近購入した ThinkPad R51 に Eclipse 3.1.1 を入れてみたんだけど
どうもうまく動かない。

ファイルを開こうとすると、3つめまでは大丈夫なんだが、4つめから

Problems occurred when invoking code from plug-in: "org.eclipse.jface".

というエラーメッセージが出始める。で、エラーログを見ると

java.lang.NullPointerException
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java(Compiled Code))
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:223)

になってる。なんでなんだろう???あと JUnit でもエラーがよく起こるんだよね。

394:& ◆QWv3R1XL8M
05/12/09 00:22:25
悪い。上のはスレ違いだった。無視してくれ。

395:デフォルトの名無しさん
05/12/09 22:28:00
B5でEclipseってどう?
狭い?

396:デフォルトの名無しさん
05/12/09 23:11:43
Win98+Memory192Mで3.1って実行不可能?

強制終了しちゃいますorz

397:デフォルトの名無しさん
05/12/09 23:13:05
おまえらスレ違いだ。

398:デフォルトの名無しさん
05/12/10 06:53:32
>>395
マルチやめれ

399:デフォルトの名無しさん
05/12/10 12:30:24
>>398
嫌じゃ、ボケ!!
お前がやめれ。

400:デフォルトの名無しさん
05/12/10 12:30:53
>>398
嫌じゃ、ボケ!!
お前がやめれ。

401:381
05/12/15 01:15:12
以前も書き込みましたが、相変わらずキーバインドプラグインを
作成しています。
とりあえず、クラスを作成するところまではいきました。
現在はエディタ上であるキー(F6)を押すと関連付けられたクラスが呼ばれて、
とりあえずダイアログを表示するようにしています。

本当はエディタ上でF6を押すと、行選択の開始
(Windowsで言うところのShift + 上下カーソルみたいなこと)を
させたいのですが、具体的にどのクラスのどのメソッドを使えば
良いでしょうか?

402:デフォルトの名無しさん
05/12/20 02:46:13
URLリンク(yoichiro.cocolog-nifty.com)
URLリンク(yoichiro.cocolog-nifty.com)
IDocument


403:デフォルトの名無しさん
05/12/23 03:32:36
エディタの改行コードの設定がどうなっているかを
調べるにはどうしたらいいですか?

404:デフォルトの名無しさん
05/12/23 13:10:39
保存してダンプ

405:デフォルトの名無しさん
05/12/24 15:08:16
Eclipse Wikiで
RCPの作り方を解説しているページを見つけたんだけど
出来上がったブツのサンプルを見ると拡張子がexeになっているのが気になる。
作成時にプラットフォーム選択項目があるけど皆OSネイティブ。
これってJava、拡張子(.jar, .jnlp)にすることはできないの?


406:デフォルトの名無しさん
05/12/25 11:49:04
>>405
exeの拡張子が付いている実行ファイルはただのラウンチャ。
本体は同じ場所にあるstartup.jarで、これは実行可能jarファイル
にもなってるから、普通のjarベースのアプリケーションとして配布できる。
jnlpにもできる。つーか、このへんオンラインマニュアルにちゃんと
書いてあるから、隅から隅までまず読め。

407:デフォルトの名無しさん
05/12/27 09:46:35
便乗質問。 凄く基本的なことなんですが
ヘルプの "Deploying eclipse based application with Java Web Start" によると
配布するのは全てjar'edプラグインでなければならないとの事。 (まあjwsなので当然)
全プラグイン共通で利用するcommons-loggingとかのjarを、一つのプラグインAにまとめたら
jarを再度jar化することになり、別のプラグインBやらCからクラスパス通らないですよね?

ということは、そういった利用法は不可能で、全てのプラグインに別個に必要なjarを
持たせなければならない、って事でしょうか?

408:デフォルトの名無しさん
05/12/27 13:22:14
そのjarをjar'd plug-inにする手はある。
File -> New -> Project... -> Plug-in from existing JAR archives
みたいにね。commonsならライセンス上も問題ないし。

409:407
05/12/27 14:11:37
なるほど、それ見落としてました。試してみます。
サンクス

410:407
05/12/27 17:05:39
<chirashi ura="
時間が空いたのでやってみました。
結果は単にjarを解凍して、MANIFEST.MFにパッケージ記述してくれるだけ。
手でやるのをちょっと手伝ってくれる程度。
とはいえ、とりあえず現在の正式な方法がコレだと分かったので意味はありました。
" />

411:デフォルトの名無しさん
06/01/03 14:09:10
>>407-408
FatJarプラグインでは駄目なのか?

412:デフォルトの名無しさん
06/01/03 14:32:42
駄目

413:デフォルトの名無しさん
06/01/07 00:49:46
なんで?
複数のJarをひとつに統合できる便利なツールなのに


414:デフォルトの名無しさん
06/01/07 01:30:47
>>413
複数のプラグイン全部にそれやったらただの馬鹿だな。
質問よく読めよ。

415:デフォルトの名無しさん
06/01/07 01:54:38
>>413 不適切な理由は二つ。

1. 一つのjarを個々のプラグインから共用したいという元の質問に対して、
プラグインごとにjarの中身を全部突っ込めというのは答えになってない。

2. Eclipseではプラグインごとにクラスローダが用意され、それぞれのクラスローダで
ロードされるクラスは別のクラスインスタンスになる場合がある。そのため
一つのクラスライブラリを複数のプラグインに別個に含めると所望の動作を行わない場合がある。

416:デフォルトの名無しさん
06/01/07 03:33:11
エディタの設定でタブはどのような設定になっているとか
デフォルトの改行コードはどうなっているとかを
取得するにはどうしたらいいんでしょうか?


417:デフォルトの名無しさん
06/01/07 15:12:00
初期の改行コードは当該リソースの親コンテナから継承されプロパティに格納されてる値が使われる。
タブは知らないけど最悪プリファレンス追えば?

418:デフォルトの名無しさん
06/01/20 13:23:34
GEF誰か使ってる?

419:デフォルトの名無しさん
06/01/23 02:20:30
>>418
使っているが、何か?

420:デフォルトの名無しさん
06/02/10 06:39:12
ねえねえ、えくりぷすのとってつけたようなじーゆーあいでざいなーはほんとうにとってつけたんだよね

421:デフォルトの名無しさん
06/02/10 16:34:32
というか、とってるけるためのつーるだからな。

422:デフォルトの名無しさん
06/02/17 00:47:25
自作プラグインを実行したときに、実行結果をコンソールビューに出力したいのですが
どのようにすればよいのでしょうか?
とりあえずsysoutで試してみましたがだめでした。

423:デフォルトの名無しさん
06/02/17 07:25:08
3.0のときちょっと試した感じだと
MessageConsole console = new MessageConsole("Test", null);
ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[]{console});
MessageConsoleStream consoleStream = console.newMessageStream();
consoleStream.println("Test");
で出た。今もこれでいけるかはしらない。

424:423
06/02/17 07:26:29
プラグインの依存関係はたぶんorg.eclipse.ui.ideいれとけばよかった気がする
けど覚えてない。

425:デフォルトの名無しさん
06/02/17 22:26:02
ありがとうございます。
試してみます。

426:デフォルトの名無しさん
06/02/20 18:12:34
RCPで外部jarファイル(log4jとか)を使うにはどうすればいいでしょうか?
普通にプロジェクトの設定でJava Build Pathに設定すればコンパイルしてEclipse上からの起動もできますが、Exportして単体で動かそうと思うとエラーが出ます。
いろいろいじったんですがjava.io.IOException: Unable to initialize osgi.frameworkClassPath とか言われてダメぽでした。

RCPの情報は少ないような気がしますがやっぱり洋書を読むしかないんですかね

427:デフォルトの名無しさん
06/02/20 20:05:07
>>426
必要なjarファイルだけのプロジェクトを作る。
JUnitのプラグインとか参考にするといいよ。
RCPで参考になるのは、これとか
URLリンク(www.amazon.co.jp)
これとか
URLリンク(www.amazon.co.jp)

428:デフォルトの名無しさん
06/02/20 22:47:25
>>423
無事いけました。
ちなみに依存関係はorg.eclipse.ui.consoleでした。

429:デフォルトの名無しさん
06/02/24 11:54:35
>>427
別プロジェクトにして読み込むことできました!
しかしなんでわざわざ別プロジェクトにするんでしょうね?なんかメンドイ気もするけど・・・。

430:デフォルトの名無しさん
06/02/24 15:55:02
1. jarにjarは入れられない。
2. プラグインのライブラリにjarを追加するとjar'd pluginにできない。
3. アプリケーションプラグインはjar'd pluginである必要がある。
4. よってRCPプラグインにjarは含められない。
RCPじゃなければプラグインにjarを同梱することができる。
jar'd pluginではなくなるけど。

でもまあRCPでもlog4jみたいな良く使われるライブラリは
別のプラグインに切り出しておいた方が後々いい気がするけどね。

431:デフォルトの名無しさん
06/03/04 15:19:36
プラグインのエキスポートでの質問です。
Eclipse 3.1.1 JDK 1.5 Windows XPで使用しています。

プラグインのエキスポート後、できたプラグインの jar ファイルの内容を調べると、
意図しないファイルが含まれることがあるようなのです。

再現の仕方は、
1.適当なプラグインプロジェクトを作成する。
2.ソースフォルダ( 通常は src )以下のどこかに 任意の GIF ファイル
  (内容もちゃんとした画像ファイル)を追加する。
3.追加した GIF ファイルをビルドのソースフォルダーから除外する。
  プロジェクトのプロパティ-を表示し、「Javaのビルドパス」ツリーアイテムを選択後、
  「ソース」タブを開き、除外フィルタとして「**/*.gif」を指定する。
4.プロジェクトをビルドする。すると、バイナリ出力フォルダ(通常は bin )
  にコンパイル後の *.class ファイルなどができる。ここには、追加された GIF ファイルは
  コピーされない。(フィルタで除外したので、ここまでは正しい動作。)

5.ビルドがうまくいくのを確認後、プラグインをエキスポートする。
  「デプロイ可能なプラグインおよびフラグメント」を選択し、エキスポート処理を完了させる。
6.出来上がったプラグインの jar ファイルを拡張子 zip に変更し、中身を確認する。
  すると、除外したはずの GIF ファイルが含まれている。

エキスポート時のプラグインの jar に含まれるファイルの設定は、除外フィルタ以外の
別の箇所にあるのでしょうか?

教えてください。


432:デフォルトの名無しさん
06/03/04 21:24:27
build.properties

433:431
06/03/04 21:58:44
>>432
返信ありがとうございます。
一応、build.propertiesの
bin.excludesにも「**/*.gif」などと書いてみましたが、結果は同じでした。
先に書くべきでしたね。すみません。
他に心当たりがありましたら、よろしくお願いします。

434:デフォルトの名無しさん
06/03/04 22:00:38
build.propertiesの書き方が間違えている。

435:431
06/03/04 22:02:08
「**/*.gif」は、「src/hoge/*.gif」などとしても同じでした。

436:431
06/03/04 22:06:10
>>434
URLリンク(www.atmarkit.co.jp)
一応、ここを参考に書いてみたのですが、なにかを見落としているのでしょうか?

source.xxx.jar = src/
output.xxx.jar = bin/
bin.includes = plugin.xml,\
xxx.jar
bin.excludes = **/*.gif
こんな感じです。



437:431
06/03/04 22:09:01
もう少し調べて、わからない場合は、またカキコします。
失礼しました。

438:デフォルトの名無しさん
06/03/04 22:23:38
でもたぶんいろいろ調べるよりplugin.xmlからbuild.xmlを自動生成させて、
copyタスクのfilesetいじった方がはやい。

439:431
06/03/04 22:37:26
>>438
レスありがとうございます。しかし、解決しました。
どうも、Eclipseのヘルプ(3.1.1日本語版)に誤りがあるようです。
以下、「ビルド構成」内のbuild.properties項目の抜粋

source.<library> - コンパイルするソース・フォルダーをリストします
(例えば、source.xyz.jar=src/、src-ant/)。plugin.xml または manifest.mf で
ライブラリーが指定されている場合は、その値と一致する必要があります。

source.<library> - ライブラリーでコンパイラーがコピーするべきではないファイルをリストします。

上記のように、同じ項目が2つあります。私の場合は、ソースから特定ファイルを除外したいので、
下の方を適用するのですが、正しくは、source.<library>ではなく、exclude.<library>と表記するよう
です。これで動作しました。

orz

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

440:デフォルトの名無しさん
06/03/28 21:17:18
久々にプラグイン作ってみたら
3.0と3.1で仕様変わっとる

マイナーバージョンアップでひでえことすんなあ

441:デフォルトの名無しさん
06/03/28 23:26:04
>>440
同意。ヤツラ、やりたい放題でつ。
3.2でまた大幅に変わるとの観測も・・・。

442:デフォルトの名無しさん
06/05/04 22:20:04
今日、初めてプラグイン開発してみました。
が、EMFとGEF使ってみたんですけど参考になるサイトがあまりないですね。
やっぱり普及してないんでしょうか・・・・。

443:デフォルトの名無しさん
06/05/04 22:21:03
>>442
オープンソースのやつでも探して嫁

444:デフォルトの名無しさん
06/05/04 23:27:58
>>443

たとえば?

445:デフォルトの名無しさん
06/05/05 00:10:15
いくらでもあるだろが
探す努力すらしないんならお前には最初から無理

446:デフォルトの名無しさん
06/05/05 00:16:35
とりあえずEMF Bookの邦訳かっとけ。

447:デフォルトの名無しさん
06/05/05 00:44:55
>>446

とりあえず読んでみる
サンクス

448:デフォルトの名無しさん
06/05/08 10:23:15
EMFって便利だけど難しくて。
邦訳読んだけど、まだ完全には把握しきれてない

449:デフォルトの名無しさん
06/05/24 11:27:02
java検索で、抽象クラス・メソッド、インターフェースを検索する方法はあるでしょうか?
あるプロジェクトのソースが提供されて、そこのフレームワーク的な部分だけのソース一覧を探したいです。
最終目的は、そのリストを全て選択し、omondoのUMLクラスダイアグラムエディタにD&Dし、
フレームワークのクラス図を作成したいと思っています。


450:デフォルトの名無しさん
06/05/24 11:28:49
>>449
すいません。スレ間違えました

451:デフォルトの名無しさん
06/05/24 18:54:07
449の内容を実現したいので、検索機能のpluginを作成しようと考えているのですが、
拡張方法がわかりません。
検索画面の拡張はどのようにやるのでしょうか。


452:デフォルトの名無しさん
06/06/01 23:16:18
質問です。
「チーム同期化ビュー」でファイルを右クリックしてコンテキスト(ポップアップ)メニューに項目を追加したいのですが、
うまくいきません。
最初は「objectContribution」で追加を試しましたがJavaビューのパッケージエクスプローラとリソースビューでは追加されたのですがチーム同期化ビューには追加されませんでした。
次に「viewerContribution」で一通り調べたtrgetIDを指定したのですが追加されませんでした。
「viewerContribution」に"org.eclipse.ui.resourcePerspective"でリソースビューに追加、"org.eclipse.jdt.ui.PackageExplorer"でパッケージエクスプローラーに追加は確認できています。
"org.eclipse.team.ui.TeamSynchronizingPerspective"を追加してみましたがだめでした。
"org.eclipse.team.sync.views.SynchronizeView"も試してみましたが拡張に「org.eclipse.team.sync.views」のパッケージが無い為かこれも無理でした。
今お手上げ状態です。どなたか分かる方いらっしゃいましたらお願いします。

453:デフォルトの名無しさん
06/06/04 23:57:39
eclipseが終了するタイミングで処理を行いたいです。いい方法はありますか?
ビューが生きている(ビューの情報が取れる)段階がよいのですが。。。

454:デフォルトの名無しさん
06/06/05 00:11:04
プラグインのstopを上書きするかビューのdispose()を上書きするか
ワークベンチにリスナを登録するかワークベンチウィンドウにリスナを
登録するか、用途に応じてどれか選ぶ。

455:デフォルトの名無しさん
06/06/05 00:52:46
>>454
おお、素早いレスどうもです。明日早速試してみます。

456:デフォルトの名無しさん
06/06/06 20:50:00
IFileBufferのsetDirtyを使いたいのですが、IFileBufferって何をキャストすれば使えるのでしょうか?

457:デフォルトの名無しさん
06/06/08 22:02:28
質問させてください.
初心者なので的外れな質問かもしれませんが.

EclipseでJavaのソースを書くときウインドウ幅でテキストを折り返して表示させたいのですが,
設定方法がわかりません.
自分の場合Eclipseはしょっちゅうウインドウの大きさを変えたりするので固定文字数で折り返しは嫌です.
このような設定が不可能ならば自分でプラグインを書きたいと思います.
Javaエディタの機能を拡張すればできるかもしれないと思ったのですが,Javaエディタがどこのクラス
なのかもわかりません.どなたか教えていただけないでしょうか.


458:デフォルトの名無しさん
06/06/09 23:33:11
>>457
自分も知らんが、SWT Spy URLリンク(www.eclipse.org) で調べられると思う

459:457
06/06/10 06:50:17
>>458
ありがとうございます.
調べてみます.


460:デフォルトの名無しさん
06/06/12 16:16:17
CDTでCのソースを書いてデバッガーで実行しても動作しません。
コンソールから同じ実行ファイルを起動すると動きます。

fp = fopen("abc.txt", "r");

でopenエラーになってしまうんですが。。。

なにが悪いんでしょうか?
どのたかよろしくお願いします。
OS: CentOS4.2
Eclipse-SDK3.1.2
Eclipse-CDT-3.0.2


461:デフォルトの名無しさん
06/06/28 14:44:14
eclipse用のpluginをRCPで使えるようにするには
どうしたらいいのでしょうか?
拡張ポイントを定義するのか・・・?

462:デフォルトの名無しさん
06/06/28 15:18:25
意味がよくわかめ

463:デフォルトの名無しさん
06/06/28 15:39:30
>>461
プラグインが依存するプラグインをRCPに組み込めばいいと思う。
が、芋ずる式にプラグインが組み込まれ、
最終的にEclipse SDKとほとんど同じになる予感。

464:デフォルトの名無しさん
06/06/28 16:25:27
461です。レスが早くてビックリです
ありがとうございます。

すいません言葉が足りませんでした。
例えば、Eclipse用のRSSリーダプラグインがあって、
それを同様に、RCPアプリのpluginsフォルダとか
featuresフォルダに放り込んだらそのプラグインが
RCPアプリで使用できるようにならないかなと
思いまして、、、
わかりますか?


465:デフォルトの名無しさん
06/06/28 16:40:21
>>463 が書いているとおり
そのRSSリーダプラグインが依存するプラグインが足りないんだろう。
ログ見てみれば

466:デフォルトの名無しさん
06/06/28 17:08:24
RSSリーダくらいならJDTへの依存はないだろうし、
空のRCPにプラグイン組み込むだけで動くかもね。
パースペクティブ定義が無いからビューが表示されないけど。
ま、やってみてログ見ろとしか言えない。

467:デフォルトの名無しさん
06/06/30 19:21:38
ヘルプ>ソフトウェア更新>検索とインストール をすると、
更新中にネットワークが通信不能(ロック状態)になるんですが。
Eclipse以外のネットワーク使うアプリまで(メッセンジャーなど)ネットワークでの通信不能障害起こします。

こんな症状が出た人います?

環境:WinXPでEclipse3.1、jdk1.5.0_06

468:デフォルトの名無しさん
06/06/30 21:05:57
InstallHandler からFeatureのインストールフォルダのパス
を取得する方法をご存知の方いますか?
ルートフォルダ + "features" + featureID
でいいとは思うが、なんかスマートじゃない気が・・・

469:デフォルトの名無しさん
06/06/30 22:56:18
>>467
初心者スレで質問した者だけど、そんな感じでインストールできない。
USB2.0無線(AES)だけど普段でもCPU負荷が高くなると接続が切れる現象ある。
Httpだと何回やってもだめだった。Ftpだとたまたまなのかインストールできた。

470:デフォルトの名無しさん
06/07/04 19:14:46
更新マネージャで更新すると、旧バージョンのプラグインJarと
featureフォルダが残ってしまうのはなぜでしょうか?
設定または、プログラム的に消す方法はありますか?
ちなみにRCPアプリで、起動時に自動更新チェックさせています。

471:デフォルトの名無しさん
06/07/04 21:06:12
なぜでしょうかって、そういう仕様だからだよ

472:デフォルトの名無しさん
06/07/05 19:30:09
消せるようになってるのに。

473:デフォルトの名無しさん
06/07/06 16:12:17
470です
構成管理画面を表示出来るようにはしたので、
そこから、消すことはできる。
けど自動更新のオプションかなにかで、
自動的に消すことは出来ないものかと・・・
そのほうが親切ですよね。

474:デフォルトの名無しさん
06/07/06 22:39:23
後戻りできない更新かよ。

475:デフォルトの名無しさん
06/07/06 23:29:02
Eclipse3.1.1
Tomcat4.1
で現在SYSDEO tomcatPlugin 3.1を使っています。
EclipseからTomcatを起動させたら指定したブラウザが立ち上がるようにできませんでしょうか?
実行(_R)→構成および実行(_N)で何とかできないかと思ったのですが無知なためできませんでした。
どなたか他にやり方ありましたら教えてください。
お願いします。

476:デフォルトの名無しさん
06/07/23 16:14:43
>>461です。かなりの遅自己レスですけど、
RSSリーダpluginで必須プラグインになっているものを、
RCPアプリ側でも必須に設定したら
RSSリーダ使えるようになりました。
なんか感動!RCPスゲーです。可能性を感じます。
463,465,466さんありがとうございます。
m(__)m


477:デフォルトの名無しさん
06/07/24 01:07:39
パッケージエクスプローラの「プロジェクトを右クリック→更新」
と同じ動作をさせるコードはどう書けばよいでしょうか?
プロジェクト内にファイルを作成してもコレをやらないと表示されないので困っていますOrz

478:デフォルトの名無しさん
06/07/24 01:54:26
refreshLocal().
つーか、そもそもファイル生成するときにリソース生成してからストリーム
取得していれば必要ない作業だけどね。

479:デフォルトの名無しさん
06/07/25 20:01:10
>>478
どもです。助かりました(・∀・)
他のツールにファイル作らせるのでこのようなことになってたりします。

480:デフォルトの名無しさん
06/08/12 05:18:27
Wordのプラグインの作成もEclipseで可能ですか?

481:デフォルトの名無しさん
06/08/12 12:04:00
Tomcatのプラグインが認識しません
com.sysdeo.eclipse.tomcat_2.2.1をeclipseのpuraginに移動し
ウィンドウ→設定→Tomcatから設定しようとすると
「現在表示されているページに無効な値が含まれています」と言われます

どなたか教えてください よろしくお願いします

482:デフォルトの名無しさん
06/08/12 12:08:58
移動先をpuraginじゃなくてpluginsならうまくいく。
つーかスレ違い。

>>480
SWTのOLEサポートは中途半端だから期待しない方がいいよ。
word文書ファイルの中身をいじるくらいならJavaのライブラリあるけど
なにをやりたいのかな。

483:481
06/08/12 20:24:15
あのー・・・


484:デフォルトの名無しさん
06/08/17 10:43:12
>>481
そのプラグインが対応しているeclipseのバージョンではない。
sysdeoのTomcatプラグインって、かなり前から更新止まってるぜ。

485:デフォルトの名無しさん
06/08/17 10:50:02
>>484
3.2 でも動くが。

486:デフォルトの名無しさん
06/08/17 11:10:40
まー動くけどね。
プラグインの依存関係のせいか、設定ページで妙なゴミが出たりする。

487:デフォルトの名無しさん
06/08/17 13:01:22
>>483
Sysdeoなんて使わないでWTP使おうぜ。

488:デフォルトの名無しさん
06/08/17 21:24:10
WTP 重いけどな。
まー、使ってみて決めればいい。

489:デフォルトの名無しさん
06/08/22 00:20:35
3.2になってからwtpの動作だいぶ軽くなった気がするよ
特にjspエディタ

490:デフォルトの名無しさん
06/08/22 00:34:09
>>483
> あのー・・・

↑このパターンのレス、何度も見たような。
「あのー・・・」と書いてくれば、どんな質問でも
丁寧に答えてくれると思い込んでる見たいな。
こいつから
「努力しなくても初心者のフリをしていれば
人からタダで教えて貰うのが当たり前」
っていう甘えってものを感じる。




491:デフォルトの名無しさん
06/08/23 00:12:39
あのー・・・

492:デフォルトの名無しさん
06/08/23 16:18:26
あのあ あー!あー!あー!


493:デフォルトの名無しさん
06/08/23 16:19:53
とか言うCMが、すごく昔だがあったのを思い出した。
と書こうとしたら、途中で切れたorz

494:デフォルトの名無しさん
06/08/29 23:42:17
あ、あれか。男が


あぁ・・あ゛ぁあああ~ 川の流れのよぉ~にぃいいいいいい~!


って歌ったあとで後ろからおばさんが現れて男を蹴倒して
かわりに美空ひばりの歌を歌うってやつ。

495:デフォルトの名無しさん
06/08/30 14:42:56
あのー・・・    テイション!!!!!!!!!!!!!!!!


Annotation




>>483は推奨されない人間なので@Deprecatedアノテーションでも付加しておきましょう。

/**
 * 初心者のフリをする役割を持つクラス.
 * @author >>481==>>483, その他2chねら
 * @version 投稿日:2006/08/12(土) 12:04:00
 * @deprecated >>483はウンコクラスなので非推奨です
 * @see >>481
 */
@Deprecated class >>483 {
}

496:デフォルトの名無しさん
06/08/31 09:41:41
穴太ー・・・

497:デフォルトの名無しさん
06/08/31 11:41:17
あのー厨はどうした!!!!

でてこいあのー厨

アノード!

498:デフォルトの名無しさん
06/08/31 11:42:15
>>496
滋賀県の地名か!


滋賀県防災情報提供
URLリンク(www.shiga-bousai.jp)

499:デフォルトの名無しさん
06/08/31 11:42:43

あのー・・・・ドォッ! かそー・・・・ドォッ!



500:デフォルトの名無しさん
06/08/31 12:49:45
だまれダイオード野郎

501:デフォルトの名無しさん
06/08/31 23:37:16
じゃ、トランジスタ野郎になってやる。

えみっ・・・・たぁ!
これ?・・・・くたぁ!
べー・・・・すぅ!










書き終わってから実にくだらんとオモタ

座布団没収される!

502:デフォルトの名無しさん
06/08/31 23:41:55
くだらんというより、不快

503:デフォルトの名無しさん
06/09/01 00:01:38
あのー・・・・


504:デフォルトの名無しさん
06/09/01 09:41:58
むへー・・・・

505:デフォルトの名無しさん
06/09/01 11:30:42
あのー・・・そろそろいい加減に教えてくれませんか?(怒

506:デフォルトの名無しさん
06/09/01 12:53:58
あのー・・・とか言ってるヤツには誰も教えてあげませんよ?(怒

507:デフォルトの名無しさん
06/09/01 12:59:38
テラワロス

508:デフォルトの名無しさん
06/09/03 20:51:23
>>506
あのー・・・起こっているのは僕のほうなんですよ!?(怒

509:デフォルトの名無しさん
06/09/04 09:45:14
ごめんちょっと屁こいてくる

510:481
06/09/04 10:11:29
あのー・・・こんなところで屁をこかないでください!(怒

511:デフォルトの名無しさん
06/09/04 10:35:40
あのー・・・なんの質問だっけ?(怒

512:デフォルトの名無しさん
06/09/04 10:49:04
>>511
あのー・・・あなたに怒られる筋合いはありませんよ!(怒


513:デフォルトの名無しさん
06/09/04 11:12:09
あのー・・・そうですね、すみません!(怒

514:デフォルトの名無しさん
06/09/04 12:02:12
あの・・・あなたに謝られる筋合いはありませんよ!(怒

515:デフォルトの名無しさん
06/09/11 20:34:36
初心者なのでどなたかよろしくお願いします。
CDTについて教えてください。
Cプロジェクトを作成して実行すると、アプリのバグでセグメンテーションフォールトで
停止するんですが、core dumpされません。
make file には -g オプションをつけてます。
unlimitコマンドでcore fileのサイズリミットも大きめに取っているのですが。


516:デフォルトの名無しさん
06/09/11 21:26:28
>>515 >>1

517:デフォルトの名無しさん
06/09/14 16:23:00
質問です。

org.eclipse.ui.popupMenusを拡張したアクションクラスのメソッド(run()、selectionChanged() 等)内で
Eclipseにて選択されたクラスをロードしたいのですが、
どなたがご存知の方はいらっしゃいませんか?


518:デフォルトの名無しさん
06/09/14 20:45:05
日本語でおk

519:デフォルトの名無しさん
06/10/02 02:30:46
すみません、>>289の質問の回答はどのあたりにあるでしょうか?
現在、RCPアプリケーションを作っているのですが、どうしても方法が分かりません。
ビューの最小化/最大化(と、「元に戻す」)を非表示にするにはどうしたらいいのでしょうか?

バージョンは3.1.2です。よろしくお願いします。

520:デフォルトの名無しさん
06/10/04 20:11:04

Photran を FreeBSD に移植して ports にしたいのですが、どうしたら良いですか?

FreeBSD 6.0R に eclipse-3.1 と eclipse-cdt-2.1.0_1 をインストールしました。

どなたか既にやってないですか?


521:デフォルトの名無しさん
06/10/06 03:59:49

Photran を FreeBSD に移植して ports にしたいのですが、どうしたら良いですか?

FreeBSD 6.0R に eclipse-3.1 と eclipse-cdt-2.1.0_1 をインストールしました。

どなたか既にやってないですか?

522:デフォルトの名無しさん
06/10/10 19:33:48
SWTのScrolledCompositeのスクロールバーを表示させるには、MinSizeを指定するしかないのでしょうか?

(1)MinSizeを指定せずに(子Compositeの大きさと等しい)スクロールバーを表示する方法
(2)コンポジットの表示時の大きさを取得する方法

のいずれかを御存知の方がいらっしゃれば、ぜひ教えてください。お願いします



523:デフォルトの名無しさん
06/10/25 17:44:29
VineLinuxでeclipse3.2を使っています。
javaのソースコードに日本語が入っているとうまく保存が出来ません

emacsで書いたソースに日本語が入っていても保存、実行は出来ます。
また、windowsでもうまく保存できました。

日本語化はwikiのとおりにやりました。

linux版のeclipseかLanguage Packsのどちらかが問題だと思うのですが
設定方法などありましたら教えてもらえるとありがたいです。

524:デフォルトの名無しさん
06/11/15 19:57:41
SWTスレが見つからなかったのでここで質問させてください。

TableItemに改行を含んだ文字列をTableで表示させる方法がわかりません。
もし可能なら方法を教えていただけないでしょうか。

525:デフォルトの名無しさん
06/11/19 13:45:34
>>524
本家にサンプルがある。
描画の段階で改行が含まれてたら幅が・・・とかやらないと無理だと思う。

SWTのTableを拡張して自分好みのを作ろうと思ったんだが、
実行時に例外が発生する。調べてみるとcheckSubclass()?とかいうので引っかかる。
なんかパッケージ名で判定してるみたいなんだが基本的にSWTのクラスを継承するのって禁止されてるの?

526:デフォルトの名無しさん
06/11/19 14:16:54
Javadocぐらい読んだらどうか.
* The SWT class library is intended to be subclassed
* only at specific, controlled points (most notably,
* <code>Composite</code> and <code>Canvas</code> when
* implementing new widgets). This method enforces this
* rule unless it is overridden.

527:デフォルトの名無しさん
06/11/19 14:59:16
すまん。そしてありがとう。
英語読めない低脳だが、がんばってみる。

528:デフォルトの名無しさん
06/11/21 22:13:23
前々からおもったんだが、継承させたくないならなぜclassをfinalにしないのだろうか。

529:デフォルトの名無しさん
06/11/21 22:24:33
自分らが拡張するときに不便だから

530:デフォルトの名無しさん
06/11/21 22:48:33
継承してメソッドをオーバーライドすればできたと思うが。>Table

531:デフォルトの名無しさん
06/11/22 02:00:29
>>528
virtual信者か。
finalに関する都市伝説は知ってるか?
finalの使い方を勘違いしている香具師がよくいるからな。
finalは主に不変クラスや定数を宣言するときにつかうものであって
継承やオーバーライドを禁止するためだけに使うべきではない。

532:デフォルトの名無しさん
06/11/22 02:12:07
>>531
信者じゃなくて素人だよ。思いつきで書いた。
finalの都市伝説とかよくしらないんだけど
なんで継承の禁止に使っちゃだめなの?

533:デフォルトの名無しさん
06/11/22 03:07:25
パフォーマンスに関する都市伝説はよく聞くが

534:デフォルトの名無しさん
06/11/22 03:14:37
>>531
final を継承やオーバーライドを禁止するために使うのは別にかまわないと思うが?

「final の都市伝説」って、このことを指して言っているのだと思うが、

Javaの理論と実践: パフォーマンスの都市伝説
URLリンク(www-06.ibm.com)

この記事には、「継承やオーバーライドを禁止するためだけに使うべきではない」とは書いてはない。
この記事で final に関していっているのは、「パフォーマンス目的での final 指定はすべきではない」と
言うことだけ。
むしろ、「継承を想定せずに設計された複雑なクラスを final にすることも理にかなっています」と書いて
ある。

535:デフォルトの名無しさん
06/11/22 03:27:46
いやまて。既存の一般知識だけで頭ごなしに否定するのは良くない。
531の興味深い知見を聞こうではないか。

536:デフォルトの名無しさん
06/11/22 03:27:52
>>530
>継承してメソッドをオーバーライドすればできたと思うが。>Table

できるが,やるならリスクを理解すべきでしょ.
ここで質問するってことはリスク評価できてないんだから,
安易にこうすれば出来るとか言ってしまうのはいかがなものか.

>>531
>継承やオーバーライドを禁止するためだけに使うべきではない。

はつみみです.

537:デフォルトの名無しさん
06/11/22 10:01:04
Eclipse3.0.xのインストーラってどこで落とせばいいんですか?
公式見てもさっぱり分かりません・・・

538:デフォルトの名無しさん
06/11/22 10:09:31
>>537
なんでそんな古いバージョンを?

539:537
06/11/22 12:56:21
>>538
RMIを使うために3.0系じゃないと使えないみたいなので
3.1.xだとWindow→設定→Javaの中にRMIの設定はありませんでした

540:デフォルトの名無しさん
06/11/22 14:27:13
>>539
そんな制約はない。
rmicの実行と、実行時のRMI用のシステムプロパティの設定さえできれば
どんな開発環境でだってできる。

あと、スレ違いなので別スレ池。Java初心者スレとかでいいんじゃね?

541:デフォルトの名無しさん
06/11/22 16:52:03
>>534
> >>531
> final を継承やオーバーライドを禁止するために使うのは別にかまわないと思うが?
使うのはかまわないが、「だけ」に使うのは考え直せってことだろう

542:デフォルトの名無しさん
06/11/22 16:53:24
つまりこういうことだろう。
継承やオーバーライドを禁止するときは
単にそれが目的ではなく、あくまで手段であるということ。

template methodや不変クラスを作るという目的を
もって使えということだろう

543:デフォルトの名無しさん
06/11/22 17:47:34
なにそれ.単なる言葉遊びじゃないの?
継承の禁止そのものが目的なんて現実的にあり得ないでしょ.
誰だって何かを期待してfinalつけるわけで.

544:デフォルトの名無しさん
06/11/22 20:33:28
Java言語規定より
URLリンク(www.y-adagio.com)
> クラスの定義が完了しており,これ以上サブクラスを要求又は必要としない場合,クラスをfinal宣言することができる。

サブクラスを禁止するためにfinal宣言するのは、言語仕様に沿った正しい使い方だと思うがどうか。

545:デフォルトの名無しさん
06/11/22 21:02:21
だから、そうじゃない
提供してる側が「やっぱ拡張してーや」って時に
ごにょごにょやるために、わざとfinal外してるだけ

546:544!=541!=542
06/11/22 21:18:05
>>545
ああ、そういうことなら何もいうことはないよ。
継承を禁止するためにfinal宣言するのは正しいし、
自分たちには許可するけど余所の連中が継承するのを禁止するためにSWTみたいな方法をとるのも、まあいいと思う。
>>531のせいで変な流れになったな。

547:デフォルトの名無しさん
06/11/23 20:09:46
>>540
わかりました、そっちで聞いてきます

548:デフォルトの名無しさん
06/11/24 20:28:54
どうして単独のSWT上のCanvasでマウスホイールイベントを取得するとうまくいくのに、
プラグイン開発でViewPartに配置したCanvasでマウスホイールイベントを取得すると
反応しないのはなぜなんだぜ?

549:デフォルトの名無しさん
06/11/24 20:54:52
ソースさらすよろし

550:デフォルトの名無しさん
06/11/24 20:59:42
うちでは問題ありませんなんだぜ。

551:デフォルトの名無しさん
06/11/24 21:11:40
CSVエディタを作ってたがもう辞める。
SWTのテーブルにはうんざりだよ。

552:デフォルトの名無しさん
06/11/25 00:04:37
これでダメ。助けて、パパ~~~~~

public class ViewPart1 extends ViewPart implements Listener{
...[中略]...
@Override
public void createPartControl(Composite parent) {
canvas = new Canvas(parent, SWT.None);
canvas.addListener(SWT.MouseDown, this);
canvas.addListener(SWT.MouseHover, this);
canvas.addListener(SWT.MouseDoubleClick, this);
canvas.addListener(SWT.MouseWheel, this);
}
...[中略]...
public void handleEvent(Event event) {
System.out.println(event);
}



553:デフォルトの名無しさん
06/11/25 00:06:13
「これでダメ」じゃわかんねか。
SWT.MouseWheelだけイベントが取得できず、それ以外はちゃんとSystem.out.printlnされる

554:デフォルトの名無しさん
06/11/25 01:05:22
public void createPartControl(Composite parent) {
parent.setLayout(new FillLayout());
canvas = new Canvas(parent, SWT.NONE);
canvas.addListener(SWT.MouseWheel, new Listener() {
public void handleEvent(Event event) {
System.err.println("hage");
}
});
}
でうまくいく俺は勝ち組。

555:デフォルトの名無しさん
06/11/25 01:29:25
レイアウトあるね

556:デフォルトの名無しさん
06/11/25 01:57:19
だめだ。かなり負け組み感ただようよ。
ちなみにこれだとうまくいきやがるぜ、baby(赤ちゃん)
public class SWTScroll {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
Canvas canvas = new Canvas(shell, SWT.NONE);
canvas.addListener(SWT.MouseWheel, new Listener(){
public void handleEvent(Event event) {
System.out.println("wheel");
}
});
shell.open();
while(!shell.isDisposed()){
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}

}


557:デフォルトの名無しさん
06/11/25 13:28:22
おい!

public void setFocus() {
canvas.forceFocus();
}

これを加えたらうまくいきやがりましたよ。
お騒がせしました。今は反省していない



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