1 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/29(木) 04:44:28 ID:Qq1eWYB10] jFD2はJavaで記述されたキーボード操作のファイル管理ソフトです。 ikemen.googlepages.com/jfd2 関連スレ +++ ファイラーを語ろう Part18 --- pc11.2ch.net/test/read.cgi/software/1187942037/
52 名前:作者 mailto:sage [2007/12/09(日) 03:29:59 ID:z7x4mPK6O] こんばんは。 相変わらずPCから書き込めない作者です。 まだ書きかけではなはだ不完全なんですが スクリプトの書き方を公開しました。 かなり不完全なドキュメントなので、合わせて ソースも公開しましたので、すみませんが そっちも見ながら書いてみてください。 面白いのが出来たら教えていただけるとすごく喜びます。 Groovyのドキュメントですが、かくたにさんが翻訳された ドキュメントが良いかと思います。 「かくたに Groovy」でぐぐると出てきます。
53 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/09(日) 14:34:12 ID:HlLZChEf0] 公開、乙です なんか、結構何でもできそうですね>スクリプト いろいろいじくってみたいと思います javaに慣れてないので苦戦しそうですが、 このファイラのために頑張るぞw
54 名前:名無しさん@お腹いっぱい。 [2007/12/09(日) 19:38:42 ID:f3sk+kfy0] ファイルを削除するとダイレクトで削除されますよね? わたしはうっかりものなんで、ごみ箱を経由できるとありがたいです。
55 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/09(日) 19:52:57 ID:HlLZChEf0] 他のOS上でも動くように 任意のゴミ箱フォルダに選択ファイルを移動するスクリプトを書いて d、Dに割り振る、というのはどうだろう?
56 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/09(日) 20:22:04 ID:8XLrmCW70] ほ
57 名前:26 mailto:sage [2007/12/10(月) 08:25:54 ID:TAJDJbIU0] ソース公開乙です。 これで「スクリプトで何でもできる!」と思ったら、いじりたい項目がprivateで(´・ω・`)。 スクリプトを任意のキーにアサインしたいので、command.xmlに以下のように定義しました。 <command name="hoge_script" class="com.nullfish.app.jfd2.command.groovy.GroovyCommand" cache="false" asynch="true" locks="false"> <param name="script"> <text>スクリプトのフルパス</text> </param> </command> フルパス指定だと可搬性が落ちるので、ファイル名指定だけでスクリプトフォルダー を見てくれるようになると嬉しいです。
58 名前:作者 mailto:sage [2007/12/10(月) 11:04:16 ID:QbXLKgF5O] おはようございます。 作者です。 >>53 是非是非お願いします。 APIのわからないところがあれば質問にも答えますので。 >>54 55 55さんの方式で賛成です。 ドライブ毎にゴミ箱フォルダーを定義して、そこに移動で 問題ないと思いますが、FTPなんかは直接削除でしょうね。 >>57 僕がドキュメント化をサボってた機能をあっさり 使いこなしていただいて感動しました。 ありがとうございます。 フルパスとスクリプトディレクトリ以下 両方を参照するようにしてみますね。
59 名前:作者 mailto:sage [2007/12/10(月) 11:06:51 ID:QbXLKgF5O] >>57 書き忘れましたが、いじりたかったフィールドって 何でしょうか? 必要ならアクセサ作りますが。
60 名前:26 mailto:sage [2007/12/10(月) 21:03:36 ID:TAJDJbIU0] >>52 かくたにさんが翻訳したドキュメントはGroovy1.0を基にしているようで、記述 が古い部分があります。 クロージャの記述が"{x | println x}"のようになっていますが、jFD2に同梱の バージョンですと"{x -> println x}"でないとエラーになります。 他にも相違があるかもしれませんが、今の所ひっかかったのはここだけです。
61 名前:26 mailto:sage [2007/12/10(月) 21:21:12 ID:TAJDJbIU0] >>59 クラス構成を把握しきれていなかったのでフィールドを取得できないと思って しまいましたが、スーパークラス・関連クラスを辿って取得できました。
62 名前:26 mailto:sage [2007/12/10(月) 21:35:19 ID:TAJDJbIU0] 連投失礼。 とりあえず作りはじめた小物スクリプトから他人が使っても便利そうなのをアップ。 jFD2のショートカットは便利なんだけど、作業フォルダーには1アクションで行き たい。あらかじめ"home"の名前でショートカットを作っておくと、そのフォルダー に即ジャンプ。自分は"/"キーにアサインしてます。 import com.nullfish.lib.vfs.VFS; shortCutDirPath = (String)jfd.getCommonConfigulation().getParam("shortcut_dir", "") try{ file=new File(new File(shortCutDirPath),"home.jfdlnk") homePath=new String(file.readBytes()) home = VFS.getInstance(jfd).getFile(homePath) if(home != null){ jfd.getModel().setDirectoryAsynchIfNecessary(home, home.getParent(), jfd) } }catch(Exception e){ }
63 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/10(月) 22:01:34 ID:+Qjbws4/0] おぉ! もう色々作ってる人がw 乙です 俺もクラスたどってみよう
64 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/11(火) 00:44:14 ID:tJK8ogqn0] ショートカットとか、FTPとか。 基本的な機能すら使い方とか仕様とかよくわかりません・・・
65 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/11(火) 00:55:23 ID:yjAj7B1S0] Shift+Qで今いるフォルダの場所に名前をつけて保存して置ける>ショートカット で、普通にqを押すと、その場所を保存した所に行くので、好きな所を選んでEnterを押せば移動できる ブラウザとかのお気に入りやブックマークみたいなもんだと思えばいい
66 名前:作者 mailto:sage [2007/12/11(火) 03:02:31 ID:GiS8jeHFO] >>26 おお、初スクリプトが! 自分で作っておいてなんですが、けっこう驚いてます。 すげぇ… あとGroovyの件、ありがとうございます。 なんとなく現バージョンに移行してたので 気がついてませんでした。 やはり本家サイトが一番良さげですね。 >>63 是非やってみてください。 APIの質問はサポートしますんで。 面白いのが出来たらここに貼ってください。 >>64 マニュアル不親切ですみません。 時間作って書いていきますんで、気長に待ってもらえると 助かります。 >>65 すみません、助かりますー うちのプロバイダがOCNなんですが、2chから永久規制食らったそうで 乗り換え検討中です。 携帯じゃここに書き込むのも一苦労ですよ…
67 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/11(火) 13:35:03 ID:nNAHnCKx0] 作者OCNなのか…まさかこんな形で影響するとは。 自分はASAHIだけど先日まで規制だったし、これからどうなるかわからんからオススメしない。 どこがいいかなんてわからないけど。
68 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/11(火) 17:35:29 ID:tJK8ogqn0] ショートカットのスクリプトを使わせてもらおうと思ったんですが、 startup failed, Script1.groovy: 4: unexpected token: ? @ line 4, column 1. 1 error org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, Script1.groovy: 4: unexpected token: ? @ line 4, column 1. 1 error とかエラーが出てできません。 >>62 に貼ってあるのをコピペしただけじゃマズかったんですかね? スペース変えたりタブしたりいろいろしたんですが… 初心者的な書き込みばっかでスミマセン。。。
69 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/11(火) 19:19:50 ID:yjAj7B1S0] >>68 home.jfdlnkは作ってる? Shift+qで名前をhomeで 今日、スクリプティングwithJavaってムック本買ってきた Groovyの話題とか載ってたので、これから読み込んでみる Groovy、はやるかなぁ
70 名前:26 mailto:sage [2007/12/11(火) 20:37:50 ID:z1tdkahL0] >>68 貼ったスクリプトではインデントを全角スペースにしているので、半角スペース かタブに替えて。書き忘れてた。 既にやってみたようだけど、エラーを見ると全角スペースのとろこがパースエラー になってます。 このスクリプトはhome.jfdlnkが無かったり、ショートカットフォルダーが未設定 の時は何もしないだけなのでエラーにはなりません。 なって
71 名前:作者 mailto:sage [2007/12/11(火) 22:16:08 ID:GiS8jeHFO] 流行りませんねえ、Groovy。 昔話になりますが、三年くらい前に業界の有名人に 「ファイラーにスクリプト搭載したいんですが どれがいいですか?」 と聞いたら 「Groovyがいいよ! あれは流行る!」 と言われて採用してから一度も流行ってません。 一時期期待されてたんですが、JSRになるまでに 言語仕様が変わりすぎたので人が逃げた気がします。 今はGroovyのみなんですが、ほかの言語を使いたい人って いるんでしょうか?
72 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/11(火) 22:32:02 ID:yjAj7B1S0] 三年前の有名人、無責任すぎww でも仕様上流行っても良さそうなもんだけどなぁ Java使いの人には受けが良さそうな気もするけど と、言いながらもjFD2で目にするまで存在すら知らなかったw>Groovy 流行ると信じてちょっと浸ってみよう、と思う今日この頃
73 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/11(火) 22:56:35 ID:nctriwQB0] Ruby,Python,Lispなんかはどーでしょうか? よく知りませんが「JRuby」とか「Java Lisp」とか聞いたことあります。
74 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/11(火) 23:12:36 ID:yjAj7B1S0] Java Lispは聞いたことないなぁ JRuby、Jythonは実装しやすそうだけど(相対的に) つーか、なんか一番Javaと親和性悪そうw>Lisp いや、文法上、勘で言ってるだけだがw 使ってる人いたらスマン
75 名前:jFD作者 ◆R9u5o717Q6 mailto:sage [2007/12/11(火) 23:22:37 ID:f7GxQ9tW0] 飲み屋の無線LAN借りて書いてます。 今選ぶならJRubyは一番妥当でしょうね。 配布パッケージが6メガくらい大きくなっちゃうんで、インストールは 別個にしないといけないと思いますが。 Listは触ったこと無いんですが、ソース見てると異文化を感じますね。
76 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/11(火) 23:33:53 ID:nctriwQB0] >>74 うろ覚えだったのでてきとーにググったらこんなもんが。 ttp://www.remus.dti.ne.jp/~narua2/JLindex.html まあでも、これといったプロジェクトがあるわけじゃなくて、 有志がそれぞれで色々作ってただけかも。
77 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/11(火) 23:49:33 ID:z6KCNDcp0] Groovy以外で選ぶならRubyかなぁ。 Pythonは日本では流行ってなくて、 使える日本人は少ないって聞いたことがあるけど、どうなんだろ? それはそうとV2Cの中の人がJ/Migemoを作り始めたようですよ。
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/12(水) 00:22:06 ID:FVgUCiSA0] Java LispはJavaアプリ用スクリプト拡張っていうより Javaで書かれたLispインタープリタみたいだね、これはこれで面白そうだがw 調べてみたらJava上のスクリプトプロジェクト、色々あるんだな JRuby、Jython、Groovy、Pnuts以外にも Jacl Tclっぽい(Tk使用不可) Sleep Perl系 Quercus PHPっぽいらしい JudoScript Java+PHPみたい。ソース読んだらゴチャゴチャしてた Jelly XMLを実行スクリプトとして実行する(なんのことやら?) SISC Scheme系 Kawa でたwLisp系。Java上のKawaで実装したJEmacsがおまけでつくらしいw とりあえずムック本とググった中から適当に。元Tcl/Tk使いとしてはJaclガ気になるがTk使用不可かぁw とりあえずGroovyメインでJRuby、Jythonは使いたい人用に別パッケージにすれば、と無責任に言ってみる
79 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/12(水) 00:29:12 ID:bqYlvVKJ0] ショートカットスクリプト、ちゃんと起動できました。 説明ありがとうございました。 また質問になって申し訳ないんですが、 キーのアサインというのもできるのですか?
80 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/12(水) 00:50:14 ID:FVgUCiSA0] >>79 現在は設定ファイルを手動で書き換えるしか手はないもよう (詳しくは作者さんのHPで) これは是非UI込みで設定できるように将来なって欲しいな DOS時代を思い出せば別に苦じゃないんだが、楽な環境に慣れすぎたなぁ
81 名前:作者 mailto:sage [2007/12/12(水) 01:02:28 ID:6xEZOLXzO] >>76 色々あるもんですねえ。 Javaはここら辺のスクリプト言語を統一的に扱う フレームワークを提供してるので、まとめて対応しちゃうのも 面白いかめもしれません。 >>77 何ですと! migemoを自分で書かずに済んで嬉しいような、 先越されて悔しいような微妙な心境です。 でも公開されたら大喜びで取り込みます。
82 名前:jFD作者 ◆R9u5o717Q6 mailto:sage [2007/12/12(水) 01:49:49 ID:/7CVzD6J0] テスト
83 名前:jFD作者 ◆R9u5o717Q6 mailto:sage [2007/12/12(水) 01:56:05 ID:/7CVzD6J0] ありがたい! イーモバイルで書き込めるようになりました! >>78 本当に色々ありますね。 そういや、JVM上で動くCOBOLがあると聞いた記憶があります。 どんなもんなんだろう・・・ とりあえずは、使いたい人向けに他言語の口だけ用意しておきますか。 >>79 、80 ユーザーアンフレンドリーなインターフェイスでごめんなさい。 年内は他で色々忙しくて無理なんですが、暖かくなる前には何とかします。
84 名前:26 mailto:sage [2007/12/12(水) 02:55:03 ID:vwADC4970] 自分はRuby使いなんでJRubyで・・と言いたいところですが、Groovyがいいです。 スクリプトの記述はJavaオブジェクトの扱いがほとんどなので、それをいちいち Rubyの記述に直すのは面倒。 例えばjFD2の挙動をちょっと変えるスクリプトを書く時、jFD2の該当部分のソー スを参考にして、Groovyだと Hoge hoge = new Hoge(); ↓ hoge = new Hoge() と、ほとんどそのままでいいけれど、JRubyだと hoge = Hoge.new() と、変更量が多くなる。 GroovyはRubyに影響を受けている言語なので、短いスクリプトを書くくらいだと 記述のし易さもそんなに違わない。 Javaしか知らないユーザにも馴染み安いと思うし。 あえて他のスクリプト言語にするならScala希望。
85 名前:26 mailto:sage [2007/12/12(水) 03:07:44 ID:vwADC4970] >>79 自分の>>57 を参考にcommand.xmlを記述して、 作者さんのHPを参考にkeys.xmlを記述してみて下さい。 なお、command.xml,keys.xmlは .jfd2 にあるものを直接修正しないで、 追加部分のみを .jfd2_user に置いた方が良いです。
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/12(水) 06:03:11 ID:FVgUCiSA0] >>84 Scala調べてみたら、斬新だw オブジェクト指向+関数型でシームレスって概念が面白い 学生時代使ってたMathematicaをちょっと思い出した (文法は全然違うけど)
87 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/12(水) 09:27:27 ID:bqYlvVKJ0] >>80 >>85 説明ありがとうございます。 何とかやってみます。
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/13(木) 02:59:37 ID:yBWkHXjv0] ファイラとちょっと離れるけど Groovyをマクロに使えるエディタって存在する? せっかく覚えるんなら、いろいろ使えるほうがいいかな、と思って もし、なんか情報見かけた人は教えてください
89 名前:作者 mailto:sage [2007/12/13(木) 12:02:56 ID:6roDaLqWO] またイーモバイルから書けなくなりました・・・ 自分の携帯にメール送って、それをコピペで張ってますよ。 >>84 Scala調べてみました。 触りだけしか見てないんですが、激しく斬新ですね。 今まで触ってた言語と違いすぎて、違和感すら感じません。 >>88 jEditはGroovy使えるみたいですよ。 少し触りましたが、プラグインが強力で面白いエディタです。 V2C作者さんが作ったmigemoを組み込んでみました。 なかなか調子いいです。
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/13(木) 14:06:03 ID:yBWkHXjv0] >>89 jEditの情報、アリガトウございます ちょっと使ってみますね Javaの知識が大昔で止まっているので (199X年のアプレットでアニメーションできるのかぁ、正規表現使えないの?ぐらいで止まってる) なんとかついて行こうとドキュメント読み漁ってます 知らん間にJava凄い進化ですな
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/13(木) 23:05:17 ID:yBWkHXjv0] V2Cスレで作者さんが来てて笑ったw
92 名前:作者 mailto:sage [2007/12/14(金) 23:02:59 ID:0nDPPd/qO] お恥ずかしながら出張してきました。 次こそはバージョン1にするつもりでしたが、 migemoがとても調子いいし、ちょうどいい新機能もあるんで 数日中にβ12を出せると思います。
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/14(金) 23:10:47 ID:gS3jj53x0] 「ちょうどいい新機能」 今日はもう眠れないYo!
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/14(金) 23:19:50 ID:mM+DXbXc0] + + ∧_∧ + (0゚・∀・) (0゚∪ ∪ + と__)__) +
95 名前:26 mailto:sage [2007/12/15(土) 01:34:45 ID:/QRvfbiY0] 新バージョン楽しみです。 >>21 で希望が出てるので、新バージョンに取り込まれるかもしれない機能のマクロ。 新しいタブを開く時にフォルダーにカーソルがあったら、そのフォルダーを開きます。 import com.nullfish.app.jfd2.ui.container2.NumberedJFD2 import com.nullfish.app.jfd2.ui.container2.JFD2TitleUpdater import com.nullfish.app.jfd2.ui.container2.ContainerPosition owner = jfd.getJFDOwner() if(owner==null) return model = jfd.getModel() selectedFile = model.getSelectedFile() newDir = selectedFile.isDirectory() ? selectedFile:model.getCurrentDirectory() newJFD = new NumberedJFD2() newJFD.init(owner.getConfigDirectory()) owner.addComponent(newJFD, ContainerPosition.MAIN_PANEL, new JFD2TitleUpdater(newJFD)) newJFD.getModel().setDirectoryAsynchIfNecessary(newDir, newDir.getParent(), newJFD)
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/15(土) 01:38:21 ID:+v6ia6ur0] おぉ!自分で作ろうとしてたが、できてるwしかも簡潔に アリガト>>26 さん すげークラスたどってるなぁ 全部見たのかな
97 名前:jFD作者 ◆R9u5o717Q6 mailto:sage [2007/12/15(土) 02:42:03 ID:xE9XdsFm0] テスト
98 名前:jFD作者 ◆R9u5o717Q6 mailto:sage [2007/12/15(土) 04:02:14 ID:xE9XdsFm0] お、またイーモバイルから書き込めるようになりました。 >>93 、94 あの・・・そんな大した機能じゃないんです。 インクリメンタルサーチの動作変えただけで・・・ そんなにテカテカされると困っちゃうんです。 >>26 凄いですね・・・ 仕事以外でこれだけコード読んでもらったの初めてかも。 これからもお願いします。 僕自身は今のjFD2でだいたい欲しい機能が揃っちゃってるんで、 これ以上何が必要かというのはあんまり考えつかないんですが、 26さんみたいな方が機能を拡張してくれるととても助かります。 僕はそれを簡単に組み込める仕組みを整備する方がいいかもしれないなあ・・・ >>96 各種コマンドのクラスはcom.nullfish.app.jfd2.commandパッケージ以下に まとまっているので、それを見るとスクリプトの書き方の参考になると思います。 良かったらのぞいてみてください。
99 名前:26 mailto:sage [2007/12/16(日) 16:32:41 ID:RTNuEky10] >>98 自分も使いたいスクリプトしか作らないので、もう少しスクリプトを書く人が 増えるといいですね。 あと、ここだと長いスクリプトが張りづらいので、jFD2の公式サイトにアップ できたりするといいかもです(今はこっそり自分のブログに張ってます)。
100 名前:26 mailto:sage [2007/12/16(日) 16:38:00 ID:RTNuEky10] 本体への要望です。 "."で始まるファイルの可視・不可視の切り替え機能を拡張して、ファイルの表示 マスクを指定できるようになると嬉しいです。 具体的には".svn"は見たくないけど".project"は見たい時に".svn"を指定すると ".svn"の可視不可視を切り替えられる+不可視状態の時にはFindやGrep,Copyコマ ンドでもそれらのファイルを無視するってのが欲しいのです。どうでしょうか?
101 名前:jFD作者 ◆R9u5o717Q6 mailto:sage [2007/12/16(日) 19:09:32 ID:2FaF/1he0] 先ほどベータ12を公開しました。 目玉はmigemoの導入で、使うには本家migemoの辞書ファイルが必要となります。 詳しくは配布サイトを見てください。 また、J/Migemoが現在アルファ版でクローズドテストの最中ですので、 作者のn|aさんがフィードバックを求めています。 バグ報告や要望等ありましたら、ここで構いませんので書き込んでください。 その他、インクリメンタルサーチの挙動を大きく変えてあります。 バックスペースで検索文字を一文字削除できたり、時間制での検索文字クリアが 無くなったり、カーソル等でインクリメンタルサーチ終了だったりで、 前より使い勝手は良くなってるんじゃないかと思います。 >>26 特定しますた。 スクリプト張り付け掲示板はいいアイディアですね。 Wikiにするのも面白いかもしれません。 僕の手を離れて勝手に成長してくれるくらいになったら嬉しいですね。 >>100 なるほど。 今は「.」で始まるファイル全部をフィルターしていますが、フィルター条件を 正規表現で指定できるようにするというのはどうでしょうか? デフォルトでは \..* にしておきますが、これを好きに変えられるようにしたいと思います。
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/16(日) 20:55:45 ID:BXtBa4LU0] おつです
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/16(日) 21:30:33 ID:V7cRpW+a0] バージョンアップお疲れ様です。 migemoかなりいい感じですね。 早速バリバリ使わせていただいております。
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/16(日) 21:57:32 ID:DAGZls5p0] オツデス。 んでmigemoを使ってみて気になったことを書いてみる。 テキストビューアでテキストファイルを表示 ↓ Fキー押して、検索窓出して「migemoを使う」にチェックを入れて任意の文字列をテキスト内検索 ↓ 該当文字列にフォーカスが移動 ↓ そのまま続けて別の文字列を検索 ↓ 別の文字列が、最初に検索した任意の文字列よりも前にある場合、前検索(B)が動作しない ってな感じになってます
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/16(日) 23:19:04 ID:Wl+5Wwwp0] お疲れ様です migemo良いですな 結構実用的に動いててビックリ >>104 はmigemoのチェックを外しても戻らないような、、、
106 名前:jFD作者 ◆R9u5o717Q6 mailto:sage [2007/12/16(日) 23:45:22 ID:f82nhE4c0] migemo便利ですね。 自分で実装できなかったのが悔しいです。 >>104 把握しました。 検索ロジックにバグがあったんで、直したらまたリリースします。
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/17(月) 00:53:25 ID:v/0hUnau0] FTPの機能については、 ドキュメント待ちですかね。
108 名前:26 mailto:sage [2007/12/17(月) 09:48:13 ID:zrZDBJ+n0] >>101 新版乙です。>>57 への対応ありがとうございました。 ファイル名フィルター機能お願いします。 正規表現での指定はいいですね。いろいろ小回りが効きそうです。 とりあえず".svn"が隠せると、subversion対応の第一段階クリアです。 第二段階のjFD2からのcommitやupdateはスクリプトでいけそうです。 仕上げに、作業フォルダーの更新状態をjFD2上で色分け等で表示したい ところですが、これはスクリプトでは無理。 プラグインでも今の仕様では無理っぽいです。いい手は無いですかね。
109 名前:26 mailto:sage [2007/12/17(月) 09:56:15 ID:zrZDBJ+n0] とりあえずsubversionのupdateスクリプトを作ってみた。 外部のsvnコマンドを呼んでいるので、Windowsの場合ならsvn.exeにパスが通っ ている必要があります。 import javax.swing.BoxLayout dlg=new groovy.swing.SwingBuilder().dialog(title:"svn update ...doing"){ box(axis:BoxLayout.Y_AXIS){ scrollPane(){ ta=textArea(rows:15,columns:60) } btn=button(text:"OK",visible:false,actionPerformed:{dlg.dispose()}) } } dlg.pack() dlg.setLocationRelativeTo(null) dlg.setVisible(true) files = jfd.getModel().getMarkedFiles() if(files == null || files.length == 0){ files = [jfd.getModel().getSelectedFile()] } for(file in files){ cmd="svn update "+file.getAbsolutePath() ta.append(cmd+"\n") is = Runtime.getRuntime().exec(cmd).getInputStream() br = new BufferedReader(new InputStreamReader(is)) while ((line = br.readLine()) != null) { ta.append(line+"\n") } } dlg.title="svn update ...done" btn.setVisible(true)
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/17(月) 10:19:35 ID:IYOb1fBG0] もうそんなところまで手が回ってるのかw ファイラから普通にアップデートできるのって、あんまり見ないな Subversion使ってないから試せないけど こうやってスクリプトのサンプルが出てくるのはうれしい 俺は、まだクラス漁り中w
111 名前:作者 ◆R9u5o717Q6 mailto:sage [2007/12/17(月) 13:32:57 ID:Ssb06XRv0] >>107 ドキュメントきちんと書くと時間かかるんで、こっちで簡単に書いちゃいます。 L押して普通に ftp://xxx.com とFTPのURLを入力するとそれでFTP開けます。 あと、 ftp://user:password@xxx.com とやるとアカウント入力画面を省けます。 ちなみにShift+Enterでサーバー上のファイルも編集できます。 >>26 朝からびっくりしてお茶吹きました。 なんてすばらしいものを・・・ 一点だけ指摘させてください。 Windows環境でRuntime#execを使って外部コマンドを実行すると、 cmd.exeを経由せずに実行しているので、パスを見に行ってくれません。 ですので、 cmd="svn update "+file.getAbsolutePath() の部分は、 cmd="cmd.exe /C svn update "+file.getAbsolutePath() のようにするか、 is = Runtime.getRuntime().exec(cmd).getInputStream() の部分を、 is = CommandExecuter.getInstance().exec(cmd, CommandExecuter.USE_APP_SHELL).getInputStream() にしたほうがいいです(CommandExecuterはcom.nullfish.app.jfd2.ext_commandにあります)。 後者はjFD2で設定されたシェルを使うので、より可搬性が高くなります。
112 名前:作者 ◆R9u5o717Q6 mailto:sage [2007/12/17(月) 13:42:35 ID:Ssb06XRv0] >>110 ぜひぜひ面白いもの作っちゃってください。 楽しみにしています。
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/17(月) 15:43:59 ID:v/0hUnau0] ftp機能の説明ありがとうございました。 おっしゃ〜これで!! と思いましたが、 ftpというもの自体をあまり知らなかった自分…orz 勉強します。
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/17(月) 23:40:26 ID:IYOb1fBG0] 「・Windowsで外部コマンド実行時、禁止文字を「^」でエスケープするようにした (Xキーでのファイル実行ではエスケープ済みのファイル名が出ます)。 」 これ、なんか挙動がおかしい感じですね $Fなんかで渡すときも^が多数ついちゃってる感じです (そもそも\じゃなくて^じゃなきゃダメなんですかね) ""で囲ってあるから空白なんかは大丈夫な気も、、、
115 名前:作者 ◆R9u5o717Q6 mailto:sage [2007/12/18(火) 00:48:42 ID:1fPs+ylS0] >>113 えー、勉強してみてください。 PCの技術はいろいろあって面白いもんですよ。 >>114 把握しました。 原因は、外部コマンドの実行をシェル(CMD.EXE)経由で行ってないのに シェル用のエスケープを行ってたことでした。 ベータ12リリース後に出てきた不具合をまとめて修正したバージョンを ベータ12_2として2〜3日中にリリースします。 すみませんが、もうちょっとだけ不便をお願いします。
116 名前:114 mailto:sage [2007/12/18(火) 00:55:31 ID:/1beCabT0] >>115 なるほど了解です シェル経由だとうまくいったりするんで不思議に思ってました 気長に待つのでのんびりやってください
117 名前:26 mailto:sage [2007/12/18(火) 00:56:32 ID:pCajsuCN0] >>111 外部コマンドの実行ですが、 "ls -l".execute().in.eachLine{println it} なんてサンプルをネットで見つけて麦酒噴きました。 Stringクラスに"execute"メソッドを追加して、ProcessクラスにはInputStreamを 取得できるプロパティ"in"を追加と、やりたい放題groovy。 既存のクラスにメソッドを追加できるなら、あんなことやこんなことができる と妄想が・・。 > Windows環境でRuntime#execを使って外部コマンドを実行すると、 > cmd.exeを経由せずに実行しているので、パスを見に行ってくれません。 うちはWinXPだけど普通に実行できてます。パスを見て無いとcmd.exeも 実行できないんじゃ? とはいえ ttp://jira.codehaus.org/browse/GROOVY-977 のようなこともあるようなので、本体の機能を使うようにしますね。 あと、svnに渡すのは相対パスにして複数ファイルはまとめて渡すようにしました。
118 名前:26 mailto:sage [2007/12/18(火) 01:00:04 ID:pCajsuCN0] >>109 修正版です。groovy結構面白い。 import javax.swing.BoxLayout import com.nullfish.app.jfd2.ext_command.CommandExecuter dlg=new groovy.swing.SwingBuilder().dialog(title:"svn update ...doing"){ box(axis:BoxLayout.Y_AXIS){ scrollPane(){ ta=textArea(rows:15,columns:60) } btn=button(text:"OK",visible:false,actionPerformed:{dlg.dispose()}) } } dlg.pack() dlg.setLocationRelativeTo(null) dlg.setVisible(true) model=jfd.getModel() files = model.getMarkedFiles() if(files == null || files.length == 0){ files = [model.getSelectedFile()] } cmd=files.inject("svn update "){s,f->s+='"'+f.getName()+'" '} ta.append(cmd+"\n") CommandExecuter.getInstance() .exec(cmd,CommandExecuter.USE_APP_SHELL,new File(model.getCurrentDirectory().getAbsolutePath())) .in.eachLine{ta.append(it+"\n")} dlg.title="svn update ...done" btn.setVisible(true) btn.requestFocusInWindow()
119 名前:26 mailto:sage [2007/12/18(火) 01:02:03 ID:pCajsuCN0] ありゃ、タブ置換忘れた。見難くてゴメン。
120 名前:作者 ◆R9u5o717Q6 mailto:sage [2007/12/18(火) 14:08:03 ID:7w0yVGr70] >>114 すんません、拡張コマンドは自分があんまり使わない機能なんで 手を抜いてました。 拡張コマンドでシェル使用の有無を指定できないのがそもそも間違ってたんで、 直します。 シェルを必ず使うようにしてもいいかなあ・・・ >>26 >"ls -l".execute().in.eachLine{println it} 僕も麦酒噴きたいんですが会社じゃまずいか。 Groovyすげえ・・・ スクリプト、Groovyっぽさが増してますね。 使わせていただきます。 あと、 files = model.getMarkedFiles() if(files == null || files.length == 0){ files = [model.getSelectedFile()] } この部分なんですが、しょっちゅう書く部分なんで、JFDModelに getMarkedOrSelectedFilesというメソッドを用意しておきました。 これでもうちょっと短くできると思います。
121 名前:作者 ◆R9u5o717Q6 mailto:sage [2007/12/18(火) 14:08:24 ID:7w0yVGr70] スクリプト作ってもらってばっかりじゃ悪いんで、簡単なのを一つ投下。 左右のペインで選択してるファイルのDIFFを表示するスクリプト。 DF(Windows用DIFFの方。www.vector.co.jp/soft/win95/util/se113286.html )を パスに置いておいてください。 import com.nullfish.app.jfd2.ext_command.CommandExecuter file1 = jfd.getModel().getSelectedFile() file2 =jfd.getJFDOwner().getComponent( jfd.getJFDOwner().getComponentPosition(jfd).getOpenent()).getModel().getSelectedFile() CommandExecuter.getInstance().exec( "DF \"" + file1.getAbsolutePath() + "\" \"" + file2.getAbsolutePath() + "\"", CommandExecuter.USE_APP_SHELL)
122 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 15:45:29 ID:Ty97zPAF0] >>121 パスに置くというのはどういう意味ですか? pathを通すという意味でしょうか?
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 16:34:53 ID:Ty97zPAF0] ちょっと話がズレますがすみません。 みなさんはプログラミングなんかのテキストエディタは何を使っていますか? わたしはWindows使ってて、TeraPadか秀丸です。
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 16:44:46 ID:/1beCabT0] 俺はVimを使いながら、jEditをつまみ食い中
125 名前:jFD作者 ◆R9u5o717Q6 mailto:sage [2007/12/18(火) 16:47:36 ID:GIOukur40] ベータ12 rev.2上げておきました。 ベータ12からの新機能は無く、以下の不具合の対応になっています。 ・テキストビューアの左右キーでのスクロールのバグ ・テキストビューアの前方検索のバグ ・フォーカス有無判別アルゴリズムのバグ ・マニフェストファイル ・外部コマンド編集画面でシェル使用の指定が出来ない あと、ついででJ/Migemoを最新版にしています。 >>122 説明下手ですみません。 パスを通してください、もしくはパス内に置いてくださいという意味でした。 僕は面倒だったんでc:\windowsに置いちゃったんで。 >>123 Javaのコードを書くときはEclipseですが、こういうスクリプトのときは サクラエディタ使ってます。 あと、時々TeraPad使ってますね。
126 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 17:10:37 ID:/1beCabT0] お疲れ様です なんか新しくついたシェルを使うをオンオフしても結果が変わらなくなっちゃった うちだけかな、トホホ 普通に空白無しのアプリ名 $F $Rしてるだけなんですけどね $Rとって確認してみても、シェルのオンオフは(cmd.exe通してるかは)わかりません (っていうか、シェル通すと""で囲んでても^エスケープは効くのかな) なんか禁止文字があって仕様が変わったのかな うーん、いろいろ試してみます
127 名前:jFD2作者 ◆R9u5o717Q6 mailto:sage [2007/12/18(火) 18:08:23 ID:R81SpCLE0] すみません。 さらに見落としがありました。 修正してもう一回確認したらrev3にします。 お手間かけちゃって申し訳ないです。
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 18:45:16 ID:/1beCabT0] なるほど 了解しました お手を煩わせて申し訳ないです (これくらい自分でGroovyで書いてササッと割り当てられるように早くなりたいものです)
129 名前:jFD2作者 ◆R9u5o717Q6 mailto:sage [2007/12/18(火) 20:16:49 ID:R81SpCLE0] すみません。 僕がもともと外部コマンドをあまり使わないので、しばらくほったらかしに していたのですが、久々に検証したらすごい大バグ入ってました。 基盤がおかしいんで、スクリプトでどうこうするようなもんじゃないです。 気をつけます。
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 20:23:07 ID:Ty97zPAF0] >>121 java.lang.NullPointerException: Cannot invoke method getModel() on null object とエラーが出てしまうのですが。 またしょーもない質問ですみません・・・ テキストエディタはみなさん、フリーのもの使ってるんですね。 jEditは気になってます。 javaのソフトでいいものがいろいろ出来てきて、 勉強の意欲が沸いてきます。
131 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 20:26:03 ID:/1beCabT0] (爆笑) いえいえ、申し訳ないです。ブツブツ言って、お手を煩わせてしまいました 昔のFDの時の癖でAlt+A-Zに大量にソフトを登録する使い方をしてるので (ランチャー代わりって言うんですかね。Alt+Shiftにはよく使うbatファイルが登録されているw) 改善されると有難いです 自分の中でファイラーは引数のファイル名を選んで他に投げる、ってイメージなんだけど 他のみんなはどんな使い方してるのかな?
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 20:34:59 ID:IHlT/m9M0] 俺はPeggy使ってます
133 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 20:49:35 ID:/1beCabT0] あ、外部コマンド部分をいじるんだったら、もひとつずうずうしく要望を Alt+Shiftキーを押すときの表示がAltを先に押してShiftを押しっぱなしだと グルグルと高速にトグルする仕様?なのを押しっぱなしでも一回しかトグルしないようにするか 面倒だったら「仕様です」、とReadmeか何かに書いておいたほうが良い気がします 私のような老人はすぐFDと同じ感覚で押しっぱなしにして目を回してしまうのでw (久しぶりに確認のためFD55を起動して、日本語表示できないのが悲しかったw)
134 名前:26 mailto:sage [2007/12/18(火) 21:00:04 ID:pCajsuCN0] >>130 1画面モードで実行すると、そのエラーになりますね。 2画面モードじゃない時にはなにもしないようにしたのが下のスクリプト。 Groovyでは"foo.getBar()"を"foo.bar"と記述してもOKなので、ちょっと 短くなりました(賛否はわかれるところかも)。 Groovyで色々実験してるのでSubversion対応はお休み。 import com.nullfish.app.jfd2.ext_command.CommandExecuter if(jfd.JFDOwner.contentPane.getComponent(1).tabCount<1) return file1 = jfd.model.selectedFile file2 =jfd.JFDOwner.getComponent(jfd.JFDOwner.getComponentPosition(jfd).openent).model.selectedFile CommandExecuter.instance.exec( "DF \"" + file1.absolutePath + "\" \"" + file2.absolutePath + "\"", CommandExecuter.USE_APP_SHELL)
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 21:16:03 ID:Ty97zPAF0] >>132 Peggyですか! いろいろ高機能すぎて、 わたしは使いこなせません… >>134 2画面だったんですね。 気づきませんでした。 新しい方のスクリプト使って、 ちゃんと動作確認しました。 ありがとうございます。
136 名前:jFD2作者 ◆R9u5o717Q6 mailto:sage [2007/12/19(水) 00:28:03 ID:BwZv7q/E0] テスト
137 名前:jFD2作者 ◆R9u5o717Q6 mailto:sage [2007/12/19(水) 00:30:12 ID:BwZv7q/E0] お、やっとこさOCNが書き込み規制解除されたようです。 ベータ12rev.3リリースしました。 とりあえず一通り不具合はつぶせたと思います。 Alt中のShiftの動作も変えておきましたが、確か本家FDは こんなでしたっけ? 手元のPCがVistaなんですが、FDの動作をよく覚えてないのですが これでよろしいでしょうか? ちょっと試してみてください。
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/19(水) 01:01:23 ID:glkDipry0] おおおおおおおおお、お疲れ様です 外部コマンド呼び出し、正常に動作しております ちなみにAlt+ShiftのFDのオリジナルはAltを押してShiftを押すと一回だけA→a画面に切り替わる 「押しっぱなしだとそのまま」、もう一回Shiftを押すとa→Aに切り替わる、そして次にAltを押したときは 前にトグルした状態で出てくる、という仕様でした(なので、この前までのが間違ってたわけじゃないんですよ) 「」部分が違っただけでございます。 でも高速トグルしなくなったので、私としては今の方法でも前に戻っても全く問題ございません。お手間かけました 余談ですが、今回比較のために隣に旧FDを開いて比較して、改めてインターフェースが似てるのに涙が出ましたw ちょうどVistaが16bitアプリの日本語化を切ったので、このタイミングでjFD2に出会えたのは幸せでした もう一個、Tree機能欲しい欲しい言ってたのは私ですが、今回旧FDでTreeやったらツリー取得にものすごく時間かかってましたね 今のHDが大容量で、各ディレクトリも、ものすごく深く掘ってあるので、現代では不要な機能なのかな、ともチラリと思いました
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/19(水) 09:27:11 ID:glkDipry0] ありゃ、もう一個だけ報告です Alt+Shiftの挙動ですが、なぜか表示は出来るんですが 裏モード?(キー大文字、名前小文字の方)が反応しなくなりましたね (Shiftを押したままキーを押しても反応しない、Shiftキーを離すと小文字に戻ってしまう) 何かまた手を入れる機会があれば見てみて下さい すいません、作者さんが使わない機能ばかり使ってw
140 名前:jFD2作者 ◆R9u5o717Q6 mailto:sage [2007/12/19(水) 12:42:49 ID:XArs/6TM0] 139の指摘に対応したrev4をリリースしました。 今度こそ不具合はつぶせたと思います。 >>26 スクリプトは短く書いてナンボなんで、getの省略はアリだと思います。 僕はどうもJavaの癖が抜けなくて、セミコロン抜きJavaみたいなのを 書きがちなんですが。 Groovyの実験、楽しみにしてます。 継承とかをせずにクラスを拡張できるのはかなり面白いですよね。 Rubyで羨ましかった機能なんで、僕も取り込んでいきたいです。 >>138 ツリーは作りかけなんで、遠からず組み込む予定です。 FDのハードディスク全部のディレクトリ構造をキャッシュする手法は さすがに時代にそぐわないんで、エクスプローラーのメニューのように ディレクトリが選択された時点でディレクトリの中身を取得するような 実装にする予定です。
141 名前:jFD2作者 ◆R9u5o717Q6 mailto:sage [2007/12/19(水) 12:50:02 ID:XArs/6TM0] っと、rev.4にリンクミスあったんで直しておきました。 ダウンロード可能になってます。
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/19(水) 13:29:28 ID:/yTB1FYq0] おつです
143 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/19(水) 16:32:03 ID:glkDipry0] 乙です>rev4 試しました、きちんと動作してます ありがとうございました。お手数かけて申し訳ないです >「エクスプローラーのメニューのようにディレクトリが選択された時点で >ディレクトリの中身を取得するような実装にする予定です。」 なるほど、それがいいかもしれませんね 昔はディレクトリの増減なんてめったに無かったけど 今は頻繁ですからね。期待しております
144 名前:26 mailto:sage [2007/12/19(水) 23:17:09 ID:1QXif9K+0] >>140 実験って言ってもたいしたことしてないんだけど、こんなことが出来るんだよ というサンプルをあげてみますね。 テキストビューワのタブサイズが2で固定なので、それを2と4でトグルする スクリプトです。 タブサイズを保有するフィールドがprivateなので通常はアクセスできないの ですが、Groovyでアクセサメソッドを定義してアクセスしてます。 import com.nullfish.app.jfd2.viewer.text_viewer.TextViewerPanel panel=jfd.jFDOwner.activeComponent if(panel.class.name!="com.nullfish.app.jfd2.viewer.text_viewer.TextViewerPanel") return TextViewerPanel.metaClass.setTabSize << { sz -> textArea.setTabSize(sz) } TextViewerPanel.metaClass.getTabSize << { return textArea.getTabSize() } panel.setTabSize(panel.getTabSize()==2 ? 4:2)
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/19(水) 23:43:13 ID:glkDipry0] ふと思い出してスライドショーで小数点以下を入力したらいつの間にか対応してくれてる! ありがたや これでエロ画像高速で見れますw それにしても、0.1とかに設定すると改めてビューア部分読み込み速くて出来がいいなぁ、と思います
146 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/20(木) 00:08:19 ID:L8LnviE40] >>26 さん スクリプトもう何個も作っててすごいです! わたしも、何とか覚えて、 ごみ箱スクリプト作りたいです。
147 名前:jFD2作者 ◆R9u5o717Q6 mailto:sage [2007/12/20(木) 11:55:54 ID:9crRSmf20] >>143 なんかもう、ポカりまくりですみません。 >>26 すごいな、これ出来ちゃうともう何でもありですね。 Groovyの評価が変わりました。 これって既存メソッドの挙動を変えるのにも使えるんですよね? ファイラー部分の機能拡張にも使えそうだから、新規タブが開かれたときに 特定ディレクトリ以下のスクリプトを実行出来るようにしてもよさそうですね。 >>145 すっかり忘れてました。 作業してすぐに更新履歴に書かないと、新バージョンで何が変わったか忘れるんで 更新履歴からもれるんですよね。 >>146 是非やってみてください。 APIでわからない部分は、ここで質問してもらえればお答えしますんで。
148 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/21(金) 16:15:33 ID:ml9QBR/40] 26氏の書き込みに対するレスを全部>>26 でまとめられると流れが追いにくいので 返信先はその書き込みの番号にして欲しい、と、はたから見てる人間からのお願い。
149 名前:作者 ◆R9u5o717Q6 mailto:sage [2007/12/21(金) 23:55:39 ID:HawKD3gb0] なるほど。 今後はそうしますね。
150 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/23(日) 02:28:56 ID:fgpI08nh0] ftpで日本語がばけるのは仕様ですか?
151 名前:作者 ◆R9u5o717Q6 mailto:sage [2007/12/23(日) 14:18:42 ID:xMaZjPKj0] >>150 すみません、単なる実装漏れです。 次バージョンで対応しますね。
152 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/23(日) 16:54:50 ID:rM3IVPfx0] Linuxで使えてる人います? うちの環境(Ubuntu 7.10)では以下のようなエラー吐いて起動できないんですけど。 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.initSystemColorDefaults(GTKLookAndFeel.java:1267) at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.loadStyles(GTKLookAndFeel.java:1509) at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.access$000(GTKLookAndFeel.java:37) at com.sun.java.swing.plaf.gtk.GTKLookAndFeel$WeakPCL$1.run(GTKLookAndFeel.java:1449) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) java.lang.NullPointerException at javax.swing.plaf.synth.SynthLookAndFeel$AATextListener.propertyChange(SynthLookAndFeel.java:793) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:339) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:347) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:276) at java.awt.Toolkit.setDesktopProperty(Toolkit.java:1784) at sun.awt.SunToolkit.fireDesktopFontPropertyChanges(SunToolkit.java:1698) at sun.awt.SunToolkit.setAAFontSettingsCondition(SunToolkit.java:1743)