1 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 23:13:39 ] ハードウェアの高スペック化、描画アルゴリズムの変更、JavaVMの高速化に伴い、パフォーマンスの問題は改善されています。 しかしながら、"Java"というだけで未だに敬遠されるのが現状。 そんなSwingと引き続き付き合っていくみんなのスレッドです。 Java低速GUI Swing 8 pc12.2ch.net/test/read.cgi/tech/1227234261/ Java低速GUI Swing 7 pc11.2ch.net/test/read.cgi/tech/1204155623/ Java低速GUI Swing 6 pc11.2ch.net/test/read.cgi/tech/1190807478/ Java低速GUI Swing 5 pc11.2ch.net/test/read.cgi/tech/1161139809/ Java低速GUI Swing 4 pc8.2ch.net/test/read.cgi/tech/1140533866/ Java低速GUI Swing 3 pc8.2ch.net/test/read.cgi/tech/1121700954/ Java低速GUI Swing 2 pc8.2ch.net/test/read.cgi/tech/1095398949/ Java低速GUI Swing pc5.2ch.net/test/read.cgi/tech/1062271447/l50
171 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 11:09:54 ] 分からないなら答えなくても結構ですよ
172 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 11:13:00 ] java.sun.com/docs/books/tutorial/uiswing/components/table.html#renderer ColorRenderer というクラスがあるから見てみ。
173 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 11:36:45 ] DefaultTableCellRenderer のサブクラスを作り、getTableCellRenderComponent() (だったかな?) を オーバーライドし、スーパークラスの同名メソッドを読んだあと this めんどくせ
174 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 12:07:42 ] C#にするからもういいや
175 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 15:46:45 ] >>170 このスレ、質問者になりすまして回答してる人がいるね。
176 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 15:51:16 ] この板ではよくあること
177 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 21:46:58 ] というか最近さらに増えた。 ニートが増えたんだろうな
178 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 21:55:21 ] 今日はニートの日だったな。
179 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 22:27:48 ] 卒論提出前の学部生だと予想。
180 名前:デフォルトの名無しさん [2010/02/11(木) 09:43:02 ] GUI部分をnetbeansのGUIエディタで作成して,それ以外はjrubyで作る みたいなことを簡単にできる方法ってありますか?
181 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 09:46:28 ] イベントリスナで jruby 呼べば良いだけじゃん。 そういうフレームワークちょいちょいと作れば?
182 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 14:21:03 ] SwingのEDTでスクリプトの実行って実行モデル的にどうなの? リスナ上でやるには十分遅い処理じゃね?
183 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 21:52:10 ] そんな重い処理ならスクリプトなんか使うなよ。
184 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 03:11:41 ] ruby廚は巣に帰れよ。 pc12.2ch.net/test/read.cgi/tech/1264635554/ Ruby 初心者スレッド Part 34 pc12.2ch.net/test/read.cgi/tech/1265467681/ Rubyについて Part 39 pc12.2ch.net/test/read.cgi/tech/1200175247/ Rubyの宿題教えてください。2限目 pc12.2ch.net/test/read.cgi/tech/1233033091/ 愛国Ruby pc12.2ch.net/test/read.cgi/tech/1201603546/ 魁け! Ruby 1.9.X pc12.2ch.net/test/read.cgi/tech/1249737531/ Rubyについて(アンチ専用) Part004 pc12.2ch.net/test/read.cgi/tech/1155031689/ 【ActiveScript】RubyをWindowsで使うスレ【GUI】 pc12.2ch.net/test/read.cgi/tech/1170047838/ Ruby最高や! pc12.2ch.net/test/read.cgi/tech/1100563765/ Jython、Groovy、JRuby - どれが一番効率的?
185 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 12:58:02 ] で、おまいら GUI コンポーネント組み立てて行く時は上位の JPanel あたりから組み立てる派か 末端の JButton, JTextField あたりから組み立てる派かどっちよ?
186 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 15:03:13 ] iTextの質問ってここでよい?
187 名前:デフォルトの名無しさん [2010/02/20(土) 11:12:02 ] iTextの質問ってここでよい? age
188 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 11:38:01 ] 質問うp
189 名前:デフォルトの名無しさん [2010/02/20(土) 21:18:02 ] Swing アプリ使ってるとたまに再描画がクソ重くなるんで調べてたら、ときどき javax.swing.RepaintManager.currentManager(myframe).getVolatileOffscreenBuffer(myframe, 16,16).getCapabilities(null).isAccelerated() これが false になってるのがわかりました。起動直後は true で、サクサク動きます。 これを防ぐ方法は無いでしょうか? javax.swing.RepaintManager.currentManager(myframe).getVolatileOffscreenBuffer(myframe, 16,16).setAccelerationPriority(1.0f) としてみましたが、やっぱりしばらく使ってると同じ状態になってしまいました。 環境は以下のとおりです。 Java 6u18 Windows XP 32bit NVIDIA GeForce Go 6600 VRAM 128 MB
190 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 22:53:51 ] SwingかJava2Dの使い方間違えてるかVRAMのデータが使えない状態にあるんだろう。 とりあえずjavaのオプションからDirectXとOpenGLのバージョンとソースすべてうp。
191 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 23:46:18 ] >>190 問題のアプリは主に jEdit (www.jedit.org ) です。 V2C でも似たような問題があるようですが、実行中に問題が発生するというわけじゃなさそうです。 v2c.s50.xrea.com/manual/win.html#problem DirectX のバージョンは 9.0c です。 javaw.exe 起動時に -Dsun.java2d.opengl=true すればこの問題は起こらないんですが、 ときどき他のウィンドウと干渉してゴミが表示されたりします。これを回避するために できれば OpenGL は使わないで済ませたいのですが、方法が見つからない状態です。
192 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 15:30:51 ] ソフト使うだけは板違い。
193 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:16:58 ] >>189 これ? bugs.sun.com/bugdatabase/view_bug.do?bug_id=6921654 取り敢えず他のオプションも試してみれば。 www.ea.u-tokai.ac.jp/~sakata/jdk6/docs/ja/technotes/guides/2d/flags.html OpenGLはOpenGLで問題あるみたいだけど。 bugs.sun.com/bugdatabase/view_bug.do?bug_id=6723523 とか。 何にしてもスレ違いですね。
194 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 00:20:02 ] >>193 ありがとうございます。 リンクしていただいたバグは VRAM 上のイメージとメインメモリ上のイメージとで 動作が異なると言うことで、速度低下だけが問題になっている >189 の問題とは違うもの みたいです。 translaccel と ddforcevram がそれっぽいなぁと思って試してみたんですが、やっぱり しばらく使ってると問題が発生してしまいました。 ソースコードに問題があるのなら修正に挑戦する気はあるのですが、再現させる手段が さっぱりなのでどこに手を付けていいものかさっぱりな状態です。 他に同じ症状の情報が見当たらないので、やっぱり環境に大きく依存する問題なのかも しれません。
195 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 12:33:28 ] beansbinding\u306eObservableListImpl.fireElementChanged(int) ってどこからも呼ばれないの?
196 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 12:35:00 ] 修正 beansbinding の org.jdesktop.observablecollections.ObservableCollections.ObservableListImpl.fireElementChanged(int)
197 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 20:15:56 ] PCの構成とドライバのバージョンうp
198 名前:デフォルトの名無しさん [2010/02/28(日) 04:50:07 ] まじでおまえらSwingで何つくってんだ? ゲームのマップエディタ適当にSwingで適当につくろうとして久々触ったけど 相変わらず糞だなぁ、、いつまともになるんだろこれ。。
199 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 06:00:24 ] どこが糞なのか何がまともなのか理想を語りたいらしい。
200 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 06:27:00 ] こんな夜中に語りだすのか?…
201 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 09:15:14 ] 糞なら使うなよ 適正な言語も選べないのか
202 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 21:58:51 ] マップエディタの実装が糞なだけでswing関係なかったりしてw cとかで組めるならjni使えばいい話し出し。
203 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 22:43:23 ] ここでjni出してくるのはどうかと思う
204 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 02:33:21 ] javaからwin32apiは使えないからな。
205 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 03:32:54 ] つかえまsが
206 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 04:57:50 ] Swing に対する唯一の不満は、Win32 用の L&F が ネイティブのそれと微妙に違っててイラっとすることくらいなんだけど 操作感覚にダイレクトに突き刺さってくるので困る。 SWT の作りは大嫌いだし(いまどきイベントループとか) 全般的な命名も好きになれないし(Shell って名前をアレに使うなよ) 体感速度に差があるとも思えないんだけど、 この部分だけが引っかかってしまう。 自分で作るんなら Swing なんだが 使うんだったら SWT みたいな。
207 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 11:35:13 ] そういうヲレクラス作ればいいだけじゃ?
208 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 13:39:34 ] J/DirectなんてJ#にすら見捨てられたよな
209 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 14:01:08 ] Browser と半透明ウィンドウのためだけに SWT 使うとる。
210 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 22:19:17 ] AWTUtilだっけ?あれとJDICでよくね?
211 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:08:39 ] JWebPaneってどうなったん? WebKitつかってるとかいう
212 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 02:13:19 ] SwingWTという、SWTをSwing APIでラップしたものがある。 swingwt.sourceforge.net/ 2005年頃に使ったときは、微妙な互換性不足が残念だった覚えがあるが、 今ならよくなってるかもしれない。試してみたら?
213 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 17:08:54 ] >>206 いまどきイベントループ、って どんな言語でもイベントループなんじゃないの?
214 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 19:11:48 ] たしかにイベントループを表に出していない Swing の方が異端だな。
215 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 09:11:25 ] どうもイベント廻りの挙動がおかしいと調べてみたら呼び出し先のライブラリで イベントループしてました、なんて事にさっきまでハマってたところ。 元々イベントループなんざシングルタスク言語やノンプリエンプティブな環境向けの手法だお。 Java のようなマルチスレッド環境では使わないに越したことはない。green thread 時代に yield() 駆使してた悪夢がよみがえる。
216 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 21:58:42 ] 最近、日曜プログラムでSwing始めました。 仕事ではCOBOLとかC言語が多かったのでJavaはかじった程度の知識しかありません。 ところで、コンポーネントのリスナークラスとか追加するときって、無名クラス使うのが 一般的なんですか?(本とか読むとそれが多いと書いてあったので) 個人的には画面系のプログラムも作ったこともなかったので、よく分からないんですが、 コンポーネントの生成や属性の設定の中に、ロジックが入ってくる様に思えて なんか違和感を感じるんで、今は無意味でもクラスに名前を書いて内部クラスにしてます。 でも、無名内部クラスにするが一般的なら、それになれとかないとなぁと思い質問しました。
217 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 22:03:15 ] 画面系を作ったこともないんですよね? どういう違和感を感じるんですか。
218 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 22:07:05 ] >>216 アプリケーションと画面を同一クラスとして作っていると そんな感じになってしまうかもしれない。
219 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 22:13:36 ] >>217 ちゃんと勉強するとなるとかなり大変なんで初心者・初級者用のgui教本は全てそんなもんですよ。 分離しようとすると結局コード量が多くなるんでもしちゃんとguiやるならIDEないと無理でしょうね。
220 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 22:14:45 ] >>216 ね。
221 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 22:40:14 ] >>216 分かりやすい・自然だと思う方を採用したらいいんじゃないでしょうか。 無名クラスの場合は引数以外に定義された環境の情報にアクセスできるメリットと、 切り分けても命名に困る(〜ボタン押したときの処理、以上の名前が思いつかない) ことが多数なので、私自身は無名クラスで書くことが多いです。 良い名前が思いつかないのであれば、多分分けるべきじゃないと思いますよ。
222 名前:デフォルトの名無しさん [2010/03/07(日) 00:10:01 ] javaのjTextAreaから日本語文字を[ctrl+c]でコピーして テラパッドなどのテキストエディタに[ctrl+v]でペーストした時に 日本語が文字化けしてしまいます。防ぐ方法はありますか。 【Java】 1.6.0_17-b04 (Sun Microsystems Inc.) 【OS】 Windows XP 5.1 (x86)
223 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 01:00:27 ] pc12.2ch.net/test/read.cgi/tech/1236529563/ 文字コード総合スレ part5 pc12.2ch.net/test/read.cgi/tech/1153008301/ こんなエディタ・統合開発環境はいやだ 2種類目
224 名前:222 [2010/03/07(日) 01:10:43 ] >>223 はは、文字コードスレにいってみます。
225 名前:216 mailto:sage [2010/03/07(日) 03:16:14 ] >>217 、218、219、221 コメント有難うございます。 コンポーネントを作る際、例えば以下の様なものがあるとするじゃないですか。 1.btnS11 = new JButton("Save"); 2.btnS11.setFont(new Font("Monospace",Font.BOLD,14)); 3.btnS11.addActionListener(new ActionListener {public void actionPerformed(ActionEvent e) {Saveロジック(処理)}}) 4.pnl1.add(btnS11); ってな順になるのかと思いますが、それをコンポーネント分繰り返して 「1.生成2.属性設定3.ロジック4.貼付 1.生成2.属性設定3.ロジック4.貼付…」 みたいな感じで書いてます。 「1、2、4」は画面の見栄えの部分で、「3」はリスナーを追加する行為は画面の見栄え リスナークラス内は「ロジック」になって、画面定義とロジックが混ざる感覚になる。 「リスナーを有名の他クラスにして、外に飛ばしてやれば、それが除外されるので画面定義だけの部分になってくれる。」 ので、しっくり感が出てます。 (なんか説明、へただなぁ…。)
226 名前:216 mailto:sage [2010/03/07(日) 03:44:09 ] >>221 221さんが行っているメリットは、無名クラスではなく、内部クラスのメリットだと思います。 一応、外だしの有名クラスにするときも、元のクラスの内部クラスにはして、フィールドとか までは、利用してます。 結局、無名クラスの場合のメリットとしては 「べつにクラス化しても、結局一ヶ所しかから呼ばれないから意味ない」 「そんなクラスにわざわざ名前つけるのもバカらしい」 「コード見るときに、あっち行ったりこっち行ったりするのも分かりにくい」 のでまとめて書く。ってことかなと思ってます。 (無名クラスの場合のメリットというよりか、外だしにしたクラスのデメリットですが…) >良い名前が思いつかないのであれば、多分分けるべきじゃないと思いますよ。 命名規則を何となく決めて置けば、まぁ、なんとかしのげます。 MyBtnS11ActionAdapter 見たいなこのボタンのこのリスナーってなクラス名にしてます。 (よい名前かは置いといて…、ってか、BtnS11って、命名なんやねんってツッコミ入りそうですけど)
227 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 03:53:58 ] 先ずはguiアプリを実際に作ってから半年後にまた考えてみても遅くないでしょうね。
228 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 08:42:33 ] >>216 ビジネスロジックは別クラスに実装して、 無名リスナーはUIとビジネスロジックのアダプタとして実装している。 こんな感じ。 JButton b1 = new JButton("OK"): b1.addActionListener(new ActionListener(){ getSomeLogic().doLogic(); }); getHogeLogic()とdoLogic()の中身は想像で補ってくれ。 ビジネスロジックは、UIと粗結合であるべき、フレームワーク非依存であるべき、 というのが信条なので、SwingのAPIが混ざったクラスにビジネスロジックを書きたくない。 イベント処理にXXXListenerが必要というのはSwingの都合でしかないので、 そういう事情はSwingのUIクラスの中だけで隠蔽したい。 以上のような理由から、上記の作り方をしている。 次の課題として、UIオブジェクトとビジネスロジックオブジェクトのバインディングについて 考える必要があるけど、 そこは、ハードコーディングするなり、上位のオブジェクトからsetしてもらうなり、 DIコンテナでインジェクションするなり、好きな方法をどうぞ。 お薦めはDIコンテナだが、不慣れなら他の方法でもいい。
229 名前:228 mailto:sage [2010/03/07(日) 08:44:34 ] ぐあぁコード間違えた。こうだ。 JButton b1 = new JButton("OK"): b1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ getSomeLogic().doLogic(); } });
230 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 15:49:11 ] >無名クラスではなく、内部クラスのメリットだと思います。 書いててそう思ったんですが、まあ多分通じると思ってそのままに・・ コンポーネント名+イベント名 な命名しか思いつかない場合、 自分だったら無名内部クラスで片付けてますね。 でもまあその辺りは個人の感覚次第で 何が正しいってわけでもないはず。 (特この件にかんしては明確にどっちが優劣ってのはない。) 「そういう書き方もある」ことを抑えてて、 そういうコード見て面食らう事がないのであれば 別にどっちで書いてもいいと思うんですよ。 vi も Emacs も優れたエディタなんです。
231 名前:216 mailto:sage [2010/03/07(日) 18:05:59 ] あぁぁぁぁ。(なんか自分に腹立ってます) >>230 自分が無知なので広く意見を伺いたく質問したつもりなのに 変な噛みつき方してすみませんでした。 コメント有難うございました。
232 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 20:35:15 ] >>226 >良い名前が思いつかないのであれば、多分分けるべきじゃないと思いますよ。 は、名前が思いつくようなクラスは再利用性があるクラスだから、 「名前が思いつくかどうか」自体が、内部クラスにするかどうかの そこそこ良い基準になるということを言ったんだと思った。 ちょっと思っただけ。
233 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 21:44:27 ] やってれば分かるが普通は>>228 にいきつく。今のswingはここらで止まってる。
234 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 08:32:25 ] >>233 >>228 でもいいんだけど、コンポーネントに直接ActionListenerをaddするんじゃなくて、 Action作って使いまわしたほうがマシだと思う。 ひとつのActionを複数のコンポーネントやキーに割り当てたいときとか。
235 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 23:48:19 ] サーバサイドしかやったことないと思しき某外資系ITゼネコンのアフォSEが JAR ファイルの中見て無名内部クラス使いすぎ云々 (品質悪い) と因縁 付けて来た事があったなー。
236 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 23:52:36 ] サーバーサイドやっているとね
237 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 00:04:28 ] そんなゼネコンと仕事してる時点で質が低いからどうでもいいな。 金が欲しいなら言う事聞くしかないだろ?
238 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 00:10:36 ] 自分ところが下請けだから下請け前提で読んじゃったんだね君。
239 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 00:57:47 ] > ひとつのActionを複数のコンポーネントやキーに割り当てたいときとか。 さすがにそのくらいはやってんじゃなかろうか。 同じことを何度も書くのはそもそもアレだし。
240 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:05:42 ] ダイアログ表示中に任意のキー押下で任意のアクションを呼び出す方法はあるでしょうか?
241 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:43:51 ] もしかしてモーダルなダイアログの話?
242 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 17:46:22 ] >>241 そうです。 エラーが発生してダイアログを出すときに、スタック情報を適当なpublic static にコピーしておいて、 ダイアログ表示中に隠し機能としてF5を押すと、 コピーしておいたスタック情報をクリップボードに張り付けるということがしたいです。 客から問い合わせがあったときに、簡単に対応したいので。
243 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 18:11:22 ] InputMapとActionMap使ったら簡単なんじゃない? JDialog dialog = new JDialog(); dialog.setModal(true); dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); JPanel pn = (JPanel)dialog.getContentPane(); pn.getActionMap().put("hoge", new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { System.out.println(e); } }); pn.getInputMap().put(KeyStroke.getKeyStroke("F5"), "hoge"); dialog.setVisible(true);
244 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 19:35:53 ] >>243 ありがとうございます。 JOptionPane.getRootFrame()から何とかしてアクションマップを登録して、 JOptionPane.showMessageDialog(…);することはできないでしょうか?
245 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 19:39:58 ] JOptionPane の API リファレンスにユーティリティメソッド使わないで JDialog 参照する方法が載ってるだろう。
246 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 15:44:20 ] >>245 JOptionPane.getRootFrame()から何とかして、って書いてあるから答えがかみ合ってないよ。 そんなことは知ってるけどもっと簡単な方法がないかってことだろ。 XXして JOptionPane.getRootFrame() で済む方法ってことでしょう。 要はその方法はないってのが正しい返しかな。
247 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 18:55:30 ] 超絶役に立たないレスだな。 だから JDialog 参照しろという話をしてるわけだが。
248 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 09:06:33 ] 強引なやり方としては Toolkitを使って全てのイベントを監視する方法もある。 どのコンポーネントがフォーカスを持っていようと F5が押されたらスタックトレースをダンプするようにもできると思う。
249 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 11:01:19 ] Swingの画面を印刷するにはどうすればよいでしょうか? ちなみに、スクロールで見えてない部分も含め印刷させることが出来るでしょうか? WORDの差し込み印刷をSwingでやることになりまして…
250 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 13:18:00 ] 取ってもアフォな案件だなw vbaをjavaから呼ぶcom作る輪
251 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 14:29:22 ] 俺vba苦手だから Apache POI に頼るー。 Apache POI だけはいつも俺の心のアニキ。
252 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:34:54 ] XML で保存出来るのに今時 POI とかないわ。
253 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:17:17 ] JEditorPane#getPrintableでRTF文書の印刷とか考えてるならやめとけー。 まずは簡単なWORD文書をディスプレイに描画させてみて、満足いく結果が得られるのか早期に検討すべし。 たぶん Aspose.Words for Java みたいな有料ライブラリが必要になるだろうよ。 >252 XMLなんか差し込み印刷したってしょうがないだろ
254 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:25:41 ] >>253 Word XML (WordML) 形式の話をしてるんだが、まだ Office が XML で連携できてるって 気付いてない奴って多いんだよな。おまえみたいな。
255 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:43:50 ] DB 舐めて Word ファイル作るだけにバカみたいな金払わされてる客がいたんで (レイアウト変更等別料金)、検索結果の XML から XSL で Word ファイル作る ツール作って XSL の書き方だけ教えてあげたらもの凄く喜ばれた。 んで別のデカい仕事貰った。
256 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:53:46 ] >254 「Word XML (WordML) 形式の話をしてる」 「WORDの差し込み印刷をSwingでやる」の話じゃなかったんならオレが謝る。
257 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:54:12 ] もしプロなら人の仕事を奪うのは良くないなと気づかないといけない
258 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:57:02 ] >>256 Swing から Word XML 出力 & Desktop#print() が思い付かない時点でオhル
259 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:08:24 ] >258 重ね重ね申し訳ない。 「Swingの画面を印刷するにはどうすればよい」の話じゃなかったんならオレが謝る。 「スクロールで見えてない部分も含め印刷させる」の話じゃなかったんならオレが謝る。 「Word XML 出力 & Desktop#print()」がSwingなのかスレ違いなのかはオレもよくしらん。
260 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:12:01 ] バカは黙ってろよ
261 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:18:44 ] 逝ってよし
262 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:19:39 ] ところで >249 氏はもしかするとWindowsユーザーなのだろうか
263 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:32:57 ] Wordは最初っからどうでもいいんですが、 結局Swingの画面をjavaのコードだけで印刷って出来ないんですか? デスクトップの機能を使ってなんとかできないですかね… Wordの差し込み印刷はバージョンによって動作が違うし、Linuxじゃ動かないのでパスしたいんです。
264 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 19:50:51 ] 与えられた紙の隅から隅まで自分でお絵かきしたいなら「Java 2D API プログラマーズガイド」の7章を読む 既成コンポーネントやコンテナのprint()がどこまでまじめに印刷に対応してるかはレッツトライ スクリーンキャプチャがしたいならjava.awt.Robotだ。
265 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:13:33 ] awtでボタンを押すとFileDialogをsetVisible(true);するメソッドを呼び出すだけの アプレットを作りました。 これをブラウザ(IE6)でHTMLから呼び出して、 ボタンを押してファイルダイアログを呼び出します。 この開いているファイルダイアログを放置して 呼び出し元のウィンドウをクリックすると クリックするたびにコンソールに例外がモリモリ出ます。 ↓こんなの Exception occurred during event dispatching: java.lang.NullPointerException: null pData at sun.awt.windows.WComponentPeer._requestFocus(Native Method) at sun.awt.windows.WComponentPeer.requestFocus(Unknown Source) at java.awt.Component.requestFocusHelper(Unknown Source) 以下略 これを出さないようにしたいのだけれど調べてもさっぱりわかりませぬ。 これってJavaのバグなのかな? それとも何かしなきゃいけないことがあるのかな! 助けてエスパー!
266 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:19:15 ] AWT のスッピン FileDialog なんて久しく使ってないから忘れた。
267 名前:265 mailto:sage [2010/03/11(木) 22:24:17 ] ですよねー ふるーいアプレットのシステムを ポーティングするお仕事でこの問題が見つかったのですが 事象の起こし方もすごい簡単なのに 調べても調べてもちっとも出てこないので 泣きそうです HTMLから呼び出すとモリモリなんだけど アプレットビューワーから呼び出すと起きないのですよ
268 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:35:44 ] "java.lang.…pData" でまんまググったら出たがこれじゃねーのか。 bugs.sun.com/bugdatabase/view_bug.do?bug_id=6829326
269 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:38:29 ] 中身読んだら Java 7 でリサイズした時の話だった。失礼。
270 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 09:19:25 ] >>265 を読んだ限りでは、どうもJRE自体のバグっぽいね。 あるいはブラウザとの相性が悪かったか。 実害がないなら放置していいんじゃないかな。
271 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:25:24 ] Swing→RMIの通信をSwing→httpに変更しようと思っています。 RMIはもう使用したくないとのこどで、大幅改修はせずに移行したいとのことです。 まぁ、その辺は言いたいことはあるんですが、この不景気なもので来るもの拒まずです。工数が増える分には。 そこでまずRMIのインターフェースはあまり変えないということで、 メソッド呼び出しのリモートプロシージャの考え方を踏襲することに。 Swingにhttpクライアントを入れて"multipart/form-data"でデータを送信します。 データはRMIで使用した全ての引数でシリアライズした中身をファイルアップロードで送ります。 ポップ引数は2つで、リモートクラス名とメソッド名。シリアライズを解凍して(引数の配列)、 リモート側で(httpサーバ)メソッドインボークする感じです。 レスポンスは"text/plain"で、RMIの戻り値のシリアライズです。 このやり方はいかがなものでしょうか? 改善案や便利な方法があればお願いします。 落とし穴などもあれば。 Swing→httpは外せないってところでお願いしますm(__)m