1 名前:デフォルトの名無しさん [2007/09/26(水) 20:51:18 ] ハードウェアの高スペック化、描画アルゴリズムの変更、JavaVMの高速化に伴い、パフォーマンスの問題は改善されています。 しかしながら、"Java"というだけで未だに敬遠されるのが現状。 そんなSwingと引き続き付き合っていくみんなのスレッドです。 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
99 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 20:26:34 ] スレタイ存続の危機? 次期Java 6、Direct3Dの概要が明らかに - WindowsでのSwing 2D描画を高速化 ttp://journal.mycom.co.jp/news/2007/10/09/021/index.html
100 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 20:34:26 ] いやいや、まだまだ低速のタイトルは外せません>< # いや、そういうコトなら結構昔に変わってるはずで・・・
101 名前:95 mailto:sage [2007/10/10(水) 20:44:20 ] EmptyBorderをセットしてpack、と実装したところうまく行きました。 今までモヤモヤしていた部分が引き締まったようで、とってもすがすがしいです。 >>96 さん、>>97 さん、どうもレスありがとうございました。
102 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:12:05 ] >>99 デフォルトでオンはいいよね。MacではOpenGLがオンになるんだろうか・・・。
103 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:29:46 ] Mac では Java2D は Quartz で描いてたはずかと
104 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:38:44 ] レンダリング品質はどうなるのだろうか・・・ 現状だとDirect3Dモードにすると品質がかわるので使い物にならない
105 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 01:08:52 ] >>103 それがさ、Java SE 6からSunのレンダラがデフォルトになる予定なのよ。
106 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 04:10:28 ] 今までのwin版sun JVMなら-Dsun.java2d.ddraw=trueがデフォルトだったな。 -Dsun.java2d.d3dは支援がまともに得られないから無効だった(パフォーマンス落ちる) 当然-Dsun.java2d.openglはバグ回避で無効。 しかし、D3D9ベースになるのかPS2.0も使うみたいだしVGAとドライバ依存がでかくなるな。 それよりNimbusはマルチバイト文字通るようになるの?w
107 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 13:03:09 ] >>105 去年でたDeveloperPreviewでは、PSフォントのレンダリングがガタガタだったんだけど それ以来、DeveloperPreview無しのまま。 ttp://pc11.2ch.net/test/read.cgi/mac/1138543708/172 >>106 JDK6u5では、日本語通ってるよ。 org.jdesktop パッケージのは古いよ。 download.java.net/jdk6/ では、パッケージ自体が変わってる。 sun.swing.plaf.nimbus.NimbusLookAndFeel ね。 org.jdesktop.swingx.plaf.nimbus.NimbusLookAndFeel のヤツは化ける。
108 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 20:02:53 ] そうなのかスナップショット版だと直ってるのか。>Nimbus けど、-Dsun.java2d.d3d=trueがデフォになるってことはJOGLでプログラマブルシェーダー使うときは明示的にfalseにしないとOpenGLのシェーダーが効かなくなるな。 (win版JVMはd3dとddrawがtureだと効かない、他はDirectXがないので関係ない) けど、バックエンドがD3D9とPS2.0に変更になっただけで 描画アルゴリズムは今まで通り、OpenGL版と同じだからパフォーマンスは対して変わらんだろうなぁ。 むしろ、OpenGLパイプラインの一部がJOGLと共通化されてOpenGL使った方がJOGLやSwingにはメリットあるんだよな。 けど、個人向けVGAのOpenGLドライバはNVIDIAもATIもバグが回避出来んしなぁ。 もういっそ、J/Directをry・・・w それよりjdk6に密かに入ってるJava Smart Card IO APIのjavax移動はマダー!? jdk6はいろんなモン隠しすぎw
109 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 20:21:44 ] >>108 JDesktop側のweeklyビルドの方が古い様子。 どうも、JDK6u5が一番始めに組み込まれてるんじゃないかと。 JDK7にもまだ入ってないし。
110 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 23:58:07 ] OpenGLでもDirect3Dでもいいが、そろそろJava2Dでαブレンディングまともに実装してほしい
111 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 22:49:48 ] スレ違いなんだが、Mistralって画像ライブラリ?でアニメーションGIFを動かすにはどうすりゃいいんだろうか 読み込んで表示まではいけたんだが、最初の1フレームだけ表示してる感じ アニメーションGIFだけMistralを使わないとか、もう全部Mistral使わないでやったほうがいいんだろうか
112 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 01:09:07 ] マルチイメージのフレーム取得なんて標準で出来るじゃん。
113 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 01:40:30 ] >>112 ?
114 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 03:08:55 ] image I/Oだっけか 確かpngはできないけどgifできたような気がする
115 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 03:15:32 ] アニメーションGIF表示するだけなら、ToolkitでloadImageしてdrawImageの最後の引数に表示先コンポーネント指定してやれば勝手にアニメーションする
116 名前:デフォルトの名無しさん [2007/10/16(火) 03:15:34 ] 気がする!!!!!!
117 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 03:55:17 ] MIDPはするけど、SEやCDCはしなかった気が・・・ >>114 pngのアニメーション仕様なんて画像ビューアーにすら忘れ去られてる存在だから気にしないw 対応してるのは次期Fxくらい。
118 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 04:03:18 ] Mozillaの出したAPNGは対応入るのかな?
119 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 19:04:35 ] mozillaは標準規格の普及に力入れてるな・・・。 jpeg2000は使われることなく次世代策定中かorz 実際、jpeg2000の拡張仕様まで実装したらPNGどころじゃない超万能規格なんだが。 ウェーブレットいいよ、ウェーブレット!
120 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 22:07:55 ] jpeg2000はjpegよりブロックノイズとかの面で優れてるけど 良い面を全部帳消しにするぐらい現在のCPUでも結構重いってのがな……
121 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 22:17:58 ] 確かにデコード重いな。PNGより重いからな。
122 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 23:24:27 ] そろそろJAIのメモリリークは直った?
123 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 23:33:46 ] 標準APIであるDesktopが動かないバグが放置なのに JAIがまともになるはずないだろ・・・
124 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 02:22:17 ] 1.3あたりから無視されてるバグもあるしなぁ
125 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 14:13:04 ] それは、Bug Paradeには乗ってるの?
126 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 08:49:07 ] さて流れを読まず俺がしょぼい質問する… JFileChooserのcancelボタンに表示する文字を変えるにはどうすればいい? ApproveButtonは変えれるのに、キャンセルはなぜ変えれない?
127 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 11:12:57 ] 自分でダイアログを作って、その中に JFileChooser を放り込んで、JFileChooser のボタンは非表示にして自分でボタンを置くってのでどうだ
128 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 16:42:55 ] GUIの部品に日本語使いたくなるの俺だけ?(w JTextFields 名前 = new JTextField(); JRadioButton 女 = new JRadioButton("女"); JRadioButton 男 = new JRadioButton("男"); JButtonGroup buttonGroup.add(女); JButtonGroup buttonGroup.add(男); Javaの変数名はダブルバイト可だし、自然言語風に書くのがスタイルなんだし。
129 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 16:45:33 ] 下2行まちがえた。 ButtonGroup buttonGroup = new ButtonGroup(); buttonGroup.add(女); buttonGroup.add(男);
130 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 16:52:32 ] >>128 ファイルシステムに依存しやすいクラス名と違ってフィールド名やローカル変数は問題は出ないよ DBでも日本語名のカラムを使うかどうかという話と同じく宗教だから気にすんな クラス名でつかうのはさすがにとめる
131 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 17:23:17 ] 文字コードの問題は、機種やOSに依存するからな。 マルチプラットホームのJavaではまさに致命的だし、うかつに手を出せん。
132 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 17:41:37 ] 変数名で機種依存の問題になるのか?
133 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 18:21:43 ] 理論上unicodeで表せれば問題ないがフォント側しだいだな。
134 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 18:24:02 ] >>132 まあ、無駄に怖がってるのかも試練がな。 だが、linuxなんかで文字コードに苦しんだ俺としては、 少しでもリスクを減らしたい。
135 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 18:33:24 ] つーか 変数名に日本語使えるのか!しらんかった!
136 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 20:23:17 ] 具体的には、 Character.isJavaIdentifierStart(char) Character.isJavaIdentifierPart(char) で調べられる。 識別子の頭に使えるかと頭以外で使えるかがチェックできるよ。
137 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:17:38 ] 漢字の変数名はコンパイル通ればOKじゃね? クラス名はクラスファイルで問題出る可能性があるけど String 半角カナ = StringConverter.get半角カナ( 全角ひらがな ); 氏名フィールド.setText("ほげほげ"); JMenu ファイルメニュー = new JMenu("ファイル(F)"); JMenuItem 開くアイテム = new JMenuItem("開く"); ファイルメニュー.add(開くアイテム); みたいな使い方もできるから、大胆に使ってみたいんだが、 やっぱりなんか気がひける。w Java言語のスタイルとしては、ある意味、正しいように思うけど。
138 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:19:14 ] >>137 入力がうざそうだなぁw 俺カナタイパーだから、IMEオンのままコード打つの難しいし
139 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:20:47 ] うへぇいちいち入力切替なんてやってられんわ
140 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:33:55 ] 俺もカナタイパーなんだけど、鍛えたんで打つのは苦にならんのよ。w DOS/VキーでATOKの話だけど、タッチタイプで親指で[変換]キーを叩いて、 全角/半角の切替をマスターしたらけっこう楽に入力できるよ。 チームの中で一人だけ漢字でメソッド名つけたりする人いるのはまずそうだが。w
141 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:39:53 ] JMenuItemのやJTextFieldの数が増えてきたとき、日本語で書いておくと けっこういい感じなんだけどね。わかりやすい。 本番で採用したことはないけど。 英語圏の人には災難。
142 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:41:07 ] >>139 ローマ打ちの人に「面倒じゃない?」ってよく言われる ローマ打ちの方が遅いから、「平気、っーかよくわかんない」
143 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:41:14 ] >>137 スマン!気が引ける事もなく最近じゃ普通に使ってる。 プロジェクトとして利用を推進してる。 ホント分かりやすいよ。 >>138-140 補完されるから日本語を全部打つ事はあまりない >>140 ではないが、Macの流儀に合わせて変換キーで全角モードに入るようにしている
144 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:42:46 ] >>143 まーじーかー どうせリファクタリングでゴリっと直せるんだし、挑戦してみようかな
145 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:51:14 ] >>143 おーっ、勇気あるなーww Javaはもともとダブルバイトを変数名やメソッド名に許しているんだからして、 そういう作法もありだとSunも暗黙に認めてるってことじゃないかと。 将来には見たこともないフォントで書かれたソースコードが 出てくるような気がするんだよね。
146 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:57:15 ] >>137 のようなコードをあんまり見たこと無いからだろう。 個人的に使う分にはまったく問題ないし。
147 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:58:28 ] もしIDEでちゃんんと補完が効くのなら入力もそれほど苦じゃないかもね
148 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 01:20:31 ] >>145 ちょっと気になったので・・・・フォントと文字自体は、別のものですよ。 見た目と意味、くらいの違いがあります・・・・ 老婆心ながら、ちょっと調べておいた方がよいかと・・・
149 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 01:21:39 ] メソッド名にはあまり日本語を使いたくないな、気分的にw Javaを全て日本語で書くとかいう研究がどっかであったけど、 ソースがあまりにもカッコ悪くて、プログラミング言語のほとんどが英語で良かったと思っている
150 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 01:31:10 ] アニメーションGIFをImageIconとして読み込んで、JLabelにアイコンとして設定したらちゃんとアニメーションしてくれたのね で、JLabelを継承して、paint(Graphics g)をオーバーライドしたら、拡大縮小回転を楽しめたんですよ。 ここで質問です。 paint(Graphics g)が呼ばれたときに、 アニメーションGIFの何フレーム目を表示しようとしてるか検出できますかね? 拡大縮小回転のさせたBufferedImageを保存して再利用したいんだけど、 今何フレーム目とかわからないと、再利用できない気がするんだぜ
151 名前:デフォルトの名無しさん [2007/10/19(金) 01:50:12 ] >>149 気分とかカッコいいとかそういった主観に基づい行うもんじゃないだろ。 便利なのか必要なのかどうかで違ってくる。 それも言語仕様でサポートされてるから安心して使えるし。
152 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 03:48:14 ] 日本語ってなかなかにグルー言語よね
153 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 07:37:14 ] >>151 同意!
154 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 07:46:07 ] >>148 文意を理解してよw ギリシア語やタイ語の文字のグリフで変数名が書かれているかもしれないってこと。
155 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 08:45:12 ] 日本語とハングルを同時表示するには両方に対応しているフォントが必要じゃね?
156 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 09:44:44 ] SDCだったかでハングルでコメント入ったソースコードは見たことある。 日本語環境のIDE上で表示できるかどうかはしらんけど。
157 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 12:18:44 ] >>140 エキサイト翻訳ででてきた意味不明な英語がはいるよりは漢字のほうがましだと思う そのアプリは日本国外での開発で、海外で売る気があるのかい?と 数年後メンテをやらなくてはならない場合に ドキュメントが残ってない場合把握しやすいというメリットもある DBで日本語の項目名いれてNetBeansなりでJPAを生成でもすれば 日本語名のプロパティが見事に生成されるわけだが、わりとみやすいし いざとなればリファクタリング一発だから問題はねぇな
158 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 12:19:33 ] >>150 とりあえず軽量コンポーネントでpaintそのものをオーバーライドするのやめれ
159 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 14:17:33 ] >>157 NetBeansだとGUIまわりのリファクタリングはひっかかるケースが多いけど。
160 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 14:44:40 ] Javaのバイトコードって変数名なんかも保存してるんじゃなかったっけ? 変数名に日本語使えばバイトコードにも残るの?
161 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 15:14:30 ] UFT8に変換されて残るからソースのエンコーディングがなんであれ問題なし。
162 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 16:18:19 ] ローカル変数も残るんだっけか?
163 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 16:24:36 ] テストケースのメソッドは日本語がたいへんよろしい。
164 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 16:26:36 ] デバッグ情報として残すことも残さないこともできる
165 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 21:02:52 ] ローカル変数やGenericsの型指定は残らないと思った。 C#だとGenerics型は残るらしいね。 Javaのはキャストしてるだけってのが理由だろうけど。
166 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 21:22:05 ] ローカル変数はフレームごとに領域(とlongとかあるので型のサイズ)だけ 確保されてたはず。
167 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 21:42:43 ] どっちにせよ日本語変数は問題なさそうだな
168 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 22:25:36 ] >>159 NetBeansのGUIコンポーネントの話はしてないよ リファクタリングはJPAのほう GUIのコンポーネントのリファクタリング問題は4.1あたりで直すとか言ってたのだが 絶賛放置中 >>167 なさそうではなくて問題ない 問題が出るとしたらマッピングがおかしい場合だけ
169 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 00:50:24 ] >>159 Netbeansは、リファクタリング無しでも日本語が使えないGUIエディタまわりがあるな。 Javaで作って、何でそうなるのか問い詰めてやりたい。
170 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 04:02:05 ] そりゃ日本語使ってないやつが作ってんだからそうなるだろ。 使わないものがどうなっていようとそれは仕様です。
171 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 04:45:28 ] aho
172 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 06:30:17 ] >>170 確かに国際化は意識して対応しないとまともに動かないけど それってsunは他言語のことなんて知りません、手抜きですって告白してるようなものなんだが
173 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 06:52:51 ] Sunは、NetBeansを支援しているだけ。建前上は。
174 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 21:09:54 ] 国際化で一番ひっかかるとこってどこだろうね。 やっぱフォントまわりかな。 文字列はダブルバイトでも1文字でカウントしてくれるし、 ファイルにはUnicodeで書き出するようにすればてっとり早い。 でもアプリの性質にもよるか。 エディタのように文字を扱うのは問題おきやすいかもね。
175 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 23:01:36 ] 最近は見なくなってきたけど昔は Reader,Writer を使わずに InputStream, OutputStreamで処理してる糞アプリや糞ライブラリ をよく見かけたな…
176 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 00:04:32 ] NetBeansの日本語問題は直すつもりがないらしーぜ
177 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 00:59:58 ] 使ってないから別にいいよ
178 名前:デフォルトの名無しさん [2007/10/21(日) 03:01:53 ] どういうところが糞な
179 名前:デフォルトの名無しさん mailto:age [2007/10/21(日) 03:46:16 ] videointroplayer.web.fc2.com/v.htm?ii9YN1kO-TK36%+8mdKsm-z3pn32%+WhqyiIrhz0F110%+iwCjWdz0Gid150%+Kjtps4byn7a119%+@1@_%E4%BC%9A%E9%95%B7%E7%89%A9%E8%AA%9E
180 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 06:58:55 ] >>175 よく見かけるほどJavaアプリがあったのか
181 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 08:31:45 ] 確に、GUI関係は何とかした方がよい。 Appletもいらない。
182 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 10:23:38 ] ↑Appletはとても役に立っているから株やってみろ。まったく見識がないところは見逃してやるがなw
183 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:00:16 ] Appletはこれからだよ〜。
184 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:07:28 ] AppletよりJava Web Startの方がいいように思うんだが、なんか使ってるとこないねぇ……。
185 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:21:20 ] 比べるものじゃなくて、どっちも必要だと思うよ〜。
186 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 14:02:14 ] Web Startってどういう場合に使うものなの? アプリ配布じゃ駄目なのか?
187 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 14:08:52 ] >>186 バージョンが上がってもユーザーは自分の意志でダウンロードしなくていい。 望めばデスクトップのアイコンやスタートメニューのエントリも作ってくれる(後からでも)。 あたりまえだがアンインストールにも対応してる。
188 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 14:47:22 ] つまりバグを大量に仕込んだまま出荷しても、ほとんどのエンドユーザに気づかれずにアップデート可能ということか。
189 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 15:02:20 ] 組み込み型DBつかってたりプラグインのあるアプリには使えないんじゃないの。
190 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 15:07:53 ] >>188 エロゲメーカーにもってこいの機能だな。
191 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 15:30:05 ] >>189 普通にローカルファイルだって使えるし、組み込みDBやプラグインだっていける。 Eclipse RCPをJava Web Startで配布することも可能だよ。 ttp://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/java_web_start.htm
192 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 16:59:03 ] Java Web Startか 思い出せるのはV2CとTopCoderぐらい 他にももっと見てきたはずなんだが
193 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 16:59:35 ] Looking Glassもそうだったか?
194 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 17:49:40 ] >>184 WebStartは配布技術だからWebStartアプレットというのもある まぁ、WebStartアプリケーションのほうがはるかに使いやすいけど 今のJavaだとWebStartはデスクトップなどへのショートカット、 アプリケーションの追加と削除でアンインストールが出来るなど大幅によくなってるが スタンドアロンアプリでもショートカットやアンインストールやってほしいのにねぇ リッチクライアントは不特定多数を相手にしたものではなくて特定のユーザー向けだから 業務アプリとかやってないとあまり見る機会はないかもしれない
195 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:02:05 ] WebStart普通に便利だしJavaアプリケーションの配布では結構使われてはいるんだけど そもそもJavaアプリケーションで有名なものが少ないからWebStartの知名度も…
196 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:27:12 ] 今まで俺が使ったJavaのアプリケーションっていったら、 JDiskReportとJudeぐらいかなあ。
197 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:43:27 ] NetBeansとかEclipseとかIDEAとかJDevはなしか
198 名前:デフォルトの名無しさん [2007/10/22(月) 00:17:16 ] V2Cを忘れて何でここを見てるんだか。 Appletは、JavaQuickStarter使えば劇速になるので これからまだ延びるかもしれないと思った。 JQSについては、 ttp://download.java.net/jdk6/binaries/ ttps://jdk6.dev.java.net/6uNfaq.html 参照。 要は、prefetchです。
199 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 01:15:18 ] とりあえずJavaSE6は起動速度、動作速度に関して 進歩のほとんどなかった5.0から大幅によくなってるので だいぶ未来は明るいと信じたい
200 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 18:27:01 ] 以下、微妙にスレ違い&手前味噌だけど…晒してみる。 コード署名が必要なJavaWebStartアプリの開発をするときには、 maven2のwebstart-jnlp-pluginを使うと、幸せになれる。 sqs.cmr.sfc.keio.ac.jp/tdiary/20070709.html コード署名証明書の値段が高すぎで買えない!という場合には、 sqs.cmr.sfc.keio.ac.jp/tdiary/20051003.html こちらを。 以下、まだ作りかけ・証明書期限切れですが: sqs.cmr.sfc.keio.ac.jp/app/SourceEditor.jnlp sqs.cmr.sfc.keio.ac.jp/app/MarkReader.jnlp 前者のほうは、クライアントローカルかつ環境非依存に、 フォント埋め込みPDFファイルを作れるようにするために、 JavaWebStartでIPAフォントを配布して利用している。 後者のほうは、LAN内のマシン複数台を使って分散並列処理が できるように、JavaWebStartで起動した分散プロセス群が Pure P2P的に通信して、グリッドを作れるようにしてある。
201 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 19:46:02 ] WebStartの場合、おもにB2Bや社内アプリのように相手が特定できる用途がほとんどで あらかじめ信頼できるように登録しておくという手が普通に使われるんで あんま問題になってない感じ
202 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 21:06:36 ] それは AWT/Swing ネタなのか? っとか思ったけどム板のJava関連のスレで適切なのってないのな…
203 名前:200 mailto:sage [2007/10/27(土) 22:29:24 ] …それじゃ、「Swingでがんばりました」的ネタを投下します。 たとえば、Preferencesを設定するGUIを作るときには、 左画面にJTree、右画面にその選択範囲のエディタを配置する形で、 2ペイン構成のGUIとする場合が多いと思います。 www.sociomedia.co.jp/160 でも、この手のGUIで作業をすると、左画面と右画面をマウスで 行ったり来たりするのが、ちょっとわずらわしい。 また、左画面と右画面の関係が直感的に分かりにくい。 そこで、左のJTree画面上で任意の範囲をドラッグして選択できるようにし、 その選択部分のフォーカスが右エディタ画面の該当個所に投影される ような仕組みを作ってみました。 sqs-xml.sourceforge.jp/sqs-core/doc/screenshot/SourceEditor.png こんな感じ。 高機能GUIコンポーネントとしての再利用性の追求は、 まだ全然やっていないけれど、需要あるでしょうか? こういう部分を含む全体を、Apache Licenseで開発しています。
204 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 23:10:27 ] Preferencesを設定するGUIって普通作らない部類だからなぁ 多いとは思えない アプリでいくらでも上書きできるから、ちょっとした保存くらいにしか使い道がないと思うんだけど そういうアプリとなると通常Windowsがメイン環境になるし、設定箇所なんてWindowの位置保存程度だろう ならばレジストリ直接開いたほうが速い 意味のある値ならばxmlなり別ファイルにするはず ただし、選んだ部分を一気に出してほしいというインターフェースはわりとある その場合、右側のペインにもちゃんとスクロールバーつけといてね 特に難しいことではないので高機能ってのがわからんのだが、ここが便利!という売り文句がないと難しいぞ
205 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 23:13:18 ] 「需要あるでしょうか?」ってのが良く分からんのだけど、 そういうのって自分が必要だと思うから作るんじゃないの?
206 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 23:25:24 ] >>204 200じゃないけど >アプリでいくらでも上書きできるから、ちょっとした保存くらいにしか使い道がない ってどういう意味? JavaアプリなのにわざわざWindows依存にしてレジストリが出てくるのも よくわからないんだけどどういう状況を想定してるのかしら…?
207 名前:200 mailto:sage [2007/10/28(日) 00:22:19 ] > 意味のある値ならばxmlなり別ファイルにするはず っていうか、XMLエディタを作っているのですよ。 > そういうのって自分が必要だと思うから作るんじゃないの? 説明が難しいのだけれど、 階層的な構造をまたいで、 離れた枝と枝を見比べながら編集をするときに、 ちまちまと必要のない枝を閉じて、必要な枝だけを開いて、 画面内に収まるようにしてから作業をするのは、かったるい。 また、階層的な構造をまたいで、 離れた枝から枝へドラッグするときに、 マウスドラッグで画面をオートスクロールさせて 画面の外にある別の枝を探しながら作業をするというのは、 スクロール量の制御がやりにくいし、 うっかり途中でドラッグを放してしまいそうで、危なっかしくてイヤ。 こんなふうに感じるのって、俺だけなのかな?と。
208 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 00:32:29 ] >>206 Preferencesの実装としてWindowsであればレジストリを使っている >>207 >っていうか、XMLエディタを作っているのですよ。 XMLエディタです、とあなたは一言も言ってないのにそんなの他人がわかるかい
209 名前:200 mailto:sage [2007/10/28(日) 00:49:03 ] 先に、 > たとえば、Preferencesを設定するGUIを作るときには、 > でも、この手のGUIで作業をすると、 と、断っているように、Preferencesを設定することが目的ではありません。 Preferencesについて言及したのは、「この手のGUI」について 問題提起するための、「たとえば」の話です。 また、 > sqs.cmr.sfc.keio.ac.jp/app/SourceEditor.jnlp として、ここで提案しているGUIの動作内容が、 JavaWebStartで実際に動くようなURLを示しており、 これを起動してみれば、Preferenceエディタではなく、 XMLエディタであることは、すぐに分かるのではないかと思います。 で、 > Preferencesの実装としてWindowsであればレジストリを使っている っていうのは、regeditのこと? あれ、使いやすいですか?
210 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:10:19 ] D&Dが難しい場合(スクロールが必要とか)は、コピペを使うなぁ。 コピペできるように作っておいてくれないと無理だけど。 > sqs.cmr.sfc.keio.ac.jp/app/SourceEditor.jnlp 今作ってるのはツリー表示のとこはD&Dもコピペもできないみたいね その代わり、ポップアップメニューに便利そうなものがあるけど。
211 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:11:44 ] なんとかく理解した。 アプリケーションに組込む設定機能を作るコンポーネントの話をしているのに Preferencesを設定するツールの話をしていると勘違いしているのだな? それでWindows環境ならPrefenrecesの実装がレジストリだから レジストリエディタで直接弄ればいいんじゃね?って話がでてきたと…
212 名前:200 mailto:sage [2007/10/28(日) 01:26:32 ] Preferencesといえば、Java Preferences APIの、 bugs.sun.com/bugdatabase/view_bug.do?bug_id=6396599 このバグに悩まされております…。 WindowsではPreferencesの保存先にレジストリを用いているので、 このバグは出ないのだけど。
213 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:35:21 ] >>203 のスクリーンショット一枚でXMLエディタだとわかる人はそうそういまい。 んでみてると汎用XMLエディタにはみえんね。 だとしたら設定項目用ということならツリー構造を見せる必要もないと思うんだけど。
214 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:38:02 ] >>212 スレタイ嫁。 それにバグパレードに載ってるんだからバグだろうさ。 お前が悩んでいることをここに報告してどうするつもりなんだ? それは困ったね、よしよし、と慰めてもらいたいのか? スレタイに関係のない質問をしたいなら質問スレへ、 何かの課題をやってもらいたいなら宿題スレへいけ。
215 名前:200 mailto:sage [2007/10/28(日) 01:41:21 ] >>210 やっぱりコピペだよね。 ところで、階層構造のノードをペースト先とするときには、 「そのノード自身(置き換え)」 「兄ノードとして挿入」 「弟ノードとして挿入」 「子供ノードとして挿入」といったように、 何通りかがあるのだけれど、Ctrl-Vで張り付けるとしたら、 どれをデフォルトにするのが感覚的に正しいのだろう? ちなみにFreeMindでは、 「ノードのアイコンの微妙に上のほうを指しているときは兄として挿入」 「ノードのアイコンの微妙に下のほうを指しているときは弟として挿入」 「ノードのアイコンの右端のほうを指しているときは子供として挿入」 的なGUIを実現しているけれど、 JTreeでは、getClosestPathForLocationとかだと、 指定したx,yがどのノードに一番近いか、ということしかわからないので、 むずかしい。
216 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:41:41 ] Preferencesって言葉を初めて知ったw
217 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:48:07 ] >>215 感覚的には弟として挿入かな CTRL+SHIFT+Vだったら子供として挿入とかもありかもしらん
218 名前:200 mailto:sage [2007/10/28(日) 02:33:52 ] >>214 Preferences APIでの保存先の実装は、 Windowsではレジストリ、LinuxなどではXML形式のファイルとして保存される。 ここでの話題にもビミョーに関連すると思ったので、話のついでに書いてみた。 bug_idを示せば、ほかのひともvoteしてくれるかもしれないし。 でもまぁ、ここはGUIのスレなので、スレ違いですね。ごめん。 これから「汎用のもの」を目指して、 XMLエディタの開発を進めていこうと思っています。 個人的にはSwingというかJTreeというか特にTreeCellRendererの あたりが好き:-)なので、階層構造を編集するためのGUIコンポーネントを、 ユーザ側・開発者側の両面から、もうちょっとだけ使いやすくする 工夫についても、取り組んでみるつもり。 コメントくれた人、ありがとう。名無しに戻ります。
219 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 13:08:22 ] >>215 ,217 一瞬、VIPスレだっけと思ってしまった俺は病んでいる。 リッチなSwing部品、という点で言うとSwinglabで作ってたりするけど 画面ごとの仕組みを含んだライブラリって決定版がないね。 >>203 の仕組みも、そんなに便利かなぁと思う。 左で選んだのが右にタブでどんどん、というのでもいいし 左で選ぶの面倒だから、eclipseなんかみたいに項目フィルタあった方が便利だし。 設定パネルなら、一度に見せる必然性ってあんまないのよねぇ・・・
220 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 15:02:26 ] よくあるやりかたとしては、 ウィンドウをSplitPaneで分割したり、複数のウィンドウを開いたりして、 それぞれの画面で、同じ文書の、別の場所を表示できるようにする、 というものがある。 MVCできちんと作ってあって、 同じModelに対して複数のViewを表示できるのなら、わりと簡単に実現できる。 Eclipseとかでは、タブを画面内でドラッグすると、 左右ないし上下での好みのスタイルで画面分割できる。 また、タブを画面外までドラッグすると、 新しいウィンドウを開くことができる。 こうした機能は、操作性もわりといいと思う。
221 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 15:04:56 ] Swingでも、JTabbedPaneのタブへのドラッグ動作についての作り込みと、 JToolBarのfloatable機能を組み合わせれば、似たようなことができると 思うのだけど、面倒くさいよな
222 名前:_ [2007/11/01(木) 18:01:56 ] //ラベル作成 Border wborder = new LineBorder(Color.white, 1); JLabel Ac1 = new JLabel(""); Ac1.setBorder(wborder); Ac1.setHorizontalAlignment(JLabel.CENTER); Ac1.setBounds(400,100,80,30); add(Ac1); // ボタン作成 btnEnter =new Button("追加"); btnEnter.addActionListener(this); add(btnEnter); btnEnter.setBounds(150,250,80,80); //ボタンイベント public void actionPerformed(ActionEvent e){ Button bt = (Button)e.getSource(); if(bt==btnEnter){ Border wborder = new LineBorder(Color.black, 1); Ac1.setBorder(wborder); Ac1.setText("Push"); } } ボタンを押したら指定の場所にラベルが表示されるようにしたいのですが この方法ではなぜか出来ないのですがどうしてでしょうか どなたか教えてください
223 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 18:28:27 ] >JLabel Ac1 = new JLabel(""); Ac1 がローカル変数だからじゃね たぶん actionPerformed の中から見てる Ac1 と別物
224 名前:_ [2007/11/01(木) 18:39:11 ] どうすればよいのでしょうか? public void actionPerformed(ActionEvent e){ Button bt = (Button)e.getSource(); if(bt==btnEnter){ JLabel Ac1 = new JLabel(); Ac1.setBounds(400,100,80,30); Ac1.setText("Push"); } このように書いてみたんですがまったく表示されません.
225 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 18:55:26 ] >>224 add(Ac1);
226 名前:デフォルトの名無しさん [2007/11/01(木) 22:16:24 ] >>225 addも書き加えましたが出来ませんでした。 本当に困ってます。 誰か助けてください。
227 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:17:03 ] 全ソースうpれ
228 名前:デフォルトの名無しさん [2007/11/01(木) 22:34:06 ] これなんですがまったく出来ません。 public class Practice extends JFrame implements ActionListener{ Button btnEnter; public static void main(String[] args){ Practice frame = new Practice(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(50, 50, 900, 700); frame.setTitle("研究のGUI"); frame.setVisible(true); } Practice(){ JPanel p = new JPanel(); btnEnter = new Button("追加"); btnEnter.addActionListener(this); add(btnEnter); btnEnter.setBounds(250,120,80,80); getContentPane().add(p, BorderLayout.CENTER); appRun(); } public void appRun(){ } public void actionPerformed(ActionEvent e){ Button bt = (Button)e.getSource(); if(bt==btnEnter){ JLabel Ac1 = new JLabel(); Ac1.setBounds(400,100,80,30); Ac1.setText("Push"); add(Ac1); } } }
229 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:28:35 ] なんつーかgetContentPaneつかっていたりつかわなかったりばらばらだな コンストラクタで設定したり、mainの中だったりここも不統一だし レイアウトマネージャもしらんっぽいね そこから勉強したらどうかな
230 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:29:40 ] add(Ac1); のあとに、画面の再描画させたらええんちゃうかな? コマンドは忘れた
231 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:30:39 ] >>229 それや、add(Ac1);の前にgetContentPaneがいるんや
232 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:35:58 ] たぶん、BorderLayout.CENTER の JPanel に全面覆い隠されてるんじゃないか JPanel なくしてみ getContentPane は最近は要らない
233 名前:デフォルトの名無しさん [2007/11/01(木) 23:47:16 ] JPanelをなくすとなぜか画面が全てボタンになってしまいます add(Ac1);の前にgetContentPaneを書いても変わりませんでした。 どなたかお手数ですがやってみてもらえないでしょうか?
234 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:51:02 ] じゃあレイアウトマネージャをなくす。 setLayout(null);
235 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:51:29 ] >>233 だからレイアウトマネージャが基本なんだから勉強してよ コンテントペインはボーダーレイアウトがデフォで、 パネルはフローレイアウトがデフォってことでしょ? 推奨サイズとかも覚えてください
236 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:53:20 ] >>234 何も考えずにそれをすると一番難しいんだけどね JPanelに推奨サイズを指定してpack、 JPanelはnullレイアウトというのならまだわかるけど setBoundsというのが真っ先に出てきたあたりで何を参考に作ったのかが気になる
237 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:54:50 ] ButtonをJButtonに変えろよ こんな形でAWTとSwingを混在させるなw
238 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:56:57 ] 偉そうなわりに、ズバリの回答書く奴いないのがなんとも
239 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 00:04:29 ] 偉そうな>>238 がズバリの回答を待つとしよう 重要なヒントや答えまででてるのにこれ以上何を言うのか楽しみだ
240 名前:デフォルトの名無しさん [2007/11/02(金) 00:19:49 ] ボタンはJButtonにしたら普通の大きさになったんですが 肝心のラベルがボタンを押しても出てきません ただそれがやりたいだけなのに何故なんでしょうか? 正直どなたか全文を書いていただけないでしょうか?
241 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:33:33 ] ヒント200%だしてるのにそれを無視して全部おしえるなんてこの板ではあんまりありえん 答えだけがほしければ宿題スレへどうぞ
242 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:52:16 ] >正直どなたか全文を書いていただけないでしょうか? つ 練炭
243 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:59:48 ] >>240 勘違いすんな。ここはくだすれでもないし初心者スレでもない。
244 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 03:04:48 ] public class Practice extends JFrame { JPanel labelsPanel; public Practice (){ JButton appendLabelButton = new JButton ("ラベルを追加"); appendLabelButton.addActionListener (new ActionListener(){ public void actionPerformed(ActionEvent event){appendLabel();}}); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout()); buttonPanel.add(appendLabelButton); labelsPanel = new JPanel(); labelsPanel.setLayout(new FlowLayout()); labelsPanel.setPreferredSize(new Dimension(400, 400)); add(buttonPanel, BorderLayout.NORTH); add(labelsPanel, BorderLayout.CENTER); } void appendLabel(){ JLabel helloLabel = new JLabel ("Hello"); helloLabel.setBorder(BorderFactory.createLineBorder(Color.white, 1)); helloLabel.setHorizontalAlignment(JLabel.CENTER); helloLabel.setPreferredSize(new Dimension(80,30)); labelsPanel.add(helloLabel); labelsPanel.revalidate(); } public static void main (String[]args){ SwingUtilities.invokeLater(new Runnable(){ public void run(){ Practice frame = new Practice (); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); frame.pack();frame.setVisible(true); } }); }}
245 名前:244 mailto:sage [2007/11/02(金) 03:06:18 ] >>228 こんな感じでいいのか? 今度から宿題は宿題スレいってくれな?
246 名前:デフォルトの名無しさん [2007/11/02(金) 04:17:09 ] >>24 4 超マジレスに笑ったw でもこれがさらっと書けない職業プログラマが多いんだよな・・・
247 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 07:21:14 ] 自演乙
248 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 07:37:07 ] 口だけの奴が多い中 >>244 はまともだな
249 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 07:53:50 ] というか研究のGUIってなんだw 何を研究したらあんなソースになるのか知りたいw
250 名前:デフォルトの名無しさん [2007/11/02(金) 10:19:13 ] >>228 実行して出てきたGUIにワロタ。センターに足す動けばいい的例。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Test extends JFrame { public Test() { JButton button = new JButton("Add Label"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { add(new JLabel("Hello, world!")); getContentPane().validate(); } }); add(button, BorderLayout.SOUTH); setSize(100, 100); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { new Test(); } }); } }
251 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 11:34:19 ] >>246 インナークラスとかAWTイベントディスパッチスレッドとかしらないで GUI扱おうとしてぼろぼろになる例はよくみるね 特にスレッド周りがぼろぼろくさい 基本を勉強せずOJTという名の下に無理やり投入される場合そうなりやすい デバッグ時には動いていてもたまに動かないとか厄介なバグいれこむのがうまい連中がね
252 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 12:38:14 ] >>200 証明書の有効期限切れてるよ
253 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 13:58:53 ] >>252 200で言及済 次回以降、安定版のリリースのときには署名タイムスタンプを使うことにするよ。
254 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 13:41:02 ] windowsのJFileChooserとかJOptionPaneでキャンセルが"取消し"って表記されるのがウザい… windows標準みたいに"キャンセル"って書くにはどうすればいいだろ…
255 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 13:44:43 ] よくそんなん気づいたな
256 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:20:13 ] UIManager.put("FileChooser.cancelButtonText", "キャンセル"); UIManager.put("OptionPane.cancelButtonText", "キャンセル");
257 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:25:19 ] すごい・・・ いつも思うのですが、そのようなフィールドやプロパティの名前はどうやって調べているのでしょう。 ソースを見るしかないのでしょうか?
258 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:38:37 ] このへんとか ttp://homepage1.nifty.com/algafield/UIDF.html
259 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:59:07 ] こういうの探してました! ありがとうございます。
260 名前:254 mailto:sage [2007/11/04(日) 15:35:25 ] >>256 ありがとう。 これで見た目ほとんどwindowsっぽくなった。 FileChooserの複数選択をwindowsみたいにドラッグでびやーって範囲広げてその中全選択とかやってみたいけど、 さすがにこれはキツいな。
261 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 16:10:38 ] 単純なファイル選択ダイアログならAWTのほうつかうといいよ 機能がほとんどないけど、それで足りるのならね
262 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 16:26:51 ] ファイルダイアログだけど、WindowsのAWTはなんか見た目がしょぼくない? MacはAWTは普通だけど、Swingの方がしょぼ過ぎる。 Desktop Java Technology Today TS-3160 ttp://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-3160&yr=2007&track=2 ここを見ると、Future Platform FeaturesにNative FileChooserってあるから、そのうち改善されると思うけど。
263 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 22:26:28 ] 1. URL url = Hoge.class.getResource("../resources/book.gif"); 2. URL url = ClassLoader.getSystemClassLoader().getResource("../resources/book.gif"); このような2つのコードでリソースを取得しています。 1をHogeクラスで使用するとちゃんとURLが返ってきますが、Hogeのインスタンスであるインナークラスから呼び出すとnullが返ってきます。 しかし2のようにシステムクラスローダから呼び出すと、Hogeからの場合もHoge中のインナークラスからも呼び出すことができます。 そこで質問なのですが、 Q1.インナークラスからの相対パスは、そのインナークラスの属するクラスからの相対パスとは異なるのか(上でいうHogeのインスタンスのインナークラスとHogeクラスの関係) Q2.上の実行を、eclipseで行うと結果が逆になる(2がうまくいかず、1がうまくいく)のですがその理由。 答えづらい質問ですみません。もしよろしければ教えてください。
264 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 23:44:44 ] 相対やめたほうがいいでよ どうせリソースは決まった場所におくでそ
265 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 23:51:10 ] 確かにそうですよね。 なんだかそこらへん結構複雑そうですし・・ 分りました。以後リソース読み込みは絶対指定にします。 ありがとうございました!!
266 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 01:13:35 ] 今更だがV2Cすげー
267 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 12:10:05 ] JOptionPaneに、「次からこのメッセージを表示しない」とかチェックボックス付けたいんですけど、 何かいい方法ないですかねぇ
268 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 12:14:15 ] JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.add(new JLabel("本文")); panel.add(new JCheckBox("次からこのメッセージを表示しない"), BorderLayout.SOUTH); JOptionPane.showMessageDialog(parent, panel);
269 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 12:35:18 ] >>268 おー、早いレスありがと〜。
270 名前:デフォルトの名無しさん [2007/11/09(金) 23:36:58 ] いまからSwingアプリケーションつくるからなんかお題くれ 条件はネット接続しないこと 開発環境はJDK6u3、NetBeans6.0
271 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 23:44:52 ] >>270 Jazzの自動作曲。高品質の楽譜の表示と印刷。
272 名前:270 mailto:sage [2007/11/09(金) 23:45:27 ] >>271 勘弁してくれ
273 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 23:50:42 ] swing jazzじゃなくてもいいんだが… swingはあくまでもguiのフレームワークに過ぎないから、 swingでアプリケーションを作るって言っても範囲が広すぎるんじゃないかな? guiでアプリ作るけど何か無いかなって言うようなものだから、もう少し幅を狭めないと。
274 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 23:51:07 ] >>270 ドロー系お絵書きソフト、SVGでの読み書き可能なものを、OSSで。
275 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 23:51:49 ] >>271 少しジャンルは違うがヤマハの「初音みく」とか言うの良さそうじゃないか?
276 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 23:51:56 ] じゃあ懐かしのブラウザ HotJava を今の技術で作って
277 名前:270 mailto:sage [2007/11/09(金) 23:54:59 ] SVGとか仕様しらねー HotJavaとか初めて聞いたし Java暦1年半ですがなにか?
278 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:00:39 ] クリップボードアプリケーションとか。 ・・・Swing関係ないかw
279 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:01:59 ] >>276 JEditorPaneで原型はすぐに作れるね。 >>277 ttp://java.sun.com/products/archive/hotjava/index.html >>275 もちろん既にみくみくしてるぜ。 付属のVSTiプラグインをJavaから使おうとかもしているけど中々時間が取れない。
280 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:02:19 ] >>274 Javaじゃないが、それの本命はinkspaceだろうな。
281 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:04:38 ] swingの勉強がてらに作るならお絵描きアプリくらいが適当なのかも
282 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:09:38 ] ローカルファイル閲覧専用とかはアレだし、ブラウザはネット接続って点で270の要求を満たしてないかも。 何かオンリーワンな機能をつけたドローイングかペインティングアプリケーションとかいいんじゃないか?
283 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:16:53 ] linerみたいな画像ビューア 俺が作ってるのもそれだけどw
284 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:37:42 ] 作りたいの作ればとしか・・・
285 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:38:47 ] PDFの背景を初音ミクにかえるアプリつくるわ
286 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 02:27:50 ] >>285 Swingと関係なくないか? あとPDFオープンするのに環境依存コード書くはめになるのもちょっと嫌かな
287 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 02:31:13 ] まあ、きもちいいネタだ。
288 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 03:03:23 ] はやくu4こねーかなぁ JFileChooserおそくてかなわんわ
289 名前:デフォルトの名無しさん [2007/11/10(土) 03:56:17 ] >>288 だな。死ぬほど遅い。いくつかlazyになるように書き直した。
290 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 10:20:21 ] u4 で直ることになってるの?
291 名前:デフォルトの名無しさん [2007/11/10(土) 12:52:45 ] まだin progressの状態。
292 名前:デフォルトの名無しさん [2007/11/10(土) 13:47:36 ] 今まで、エディタとプロンプトでしこしこがんばってきたんだけど 金もできたので聞きたいとおもう。GUIつくるだけなら、JBuilderっていい? 無料版はつかったことあるけど、有料版は良いの?
293 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:59:21 ] 今のJBuilderは昔とぜんぜん違うぞ SwingベースからEclipseベースになった 少なくとも昔のJBuilderはこつをつかまないと しらないうちにボーランドのコンポーネント使って汚染されて 他の環境で手軽にコンパイルできなくなるのが欠点だった あとJBuilderはGUI作成においてNetBeansぬいたことはないよ GUI使う、使わない以前に開発効率考えるとIDE使わないのは論外だと思う
294 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 14:00:46 ] >>292 NetBeansでいいんじゃね?
295 名前:デフォルトの名無しさん [2007/11/10(土) 14:12:00 ] >>293-294 thx NetBeansの方が上なんだ。じゃあそうするよ。 IDE使わないと論外か。。じゃあ、買ってみるよ。 ありがとう。
296 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 14:37:01 ] NetBeansは無料のIDEだぞ
297 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 15:19:43 ] 最近はOSしか買わなくなったなぁ。
298 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:06:09 ] >>297 まだUbuntu使ってないの?
299 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:27:59 ] まだUbuntu使ってるの?
300 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:35:40 ] もうエディタと make でシコシコするのは時代遅れですかそうですか でも V2C はIDE使ってないらしいね
301 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:02:48 ] 時代遅れも何もそんな時代はあった事がない
302 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:21:57 ] ツール=IDEでポトペタできて楽ちん ソフトウェア=IDEがGUI部を隠蔽しててわずらわしい 規模によりけりじゃないかなぁ。
303 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:32:02 ] IDEはぽとぺたというよりコーディングが楽になるほうがおおきいかと まぁ、groupLayoutは自前でコードかくきにはならないけど
304 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 19:39:51 ] いきなりですまないのだが、JLabelやJButtonを縦書きにする方法ってある? 横長じゃなくて縦長のボタンやラベルを使いたいのだけど。
305 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:43:28 ] new JLabel("<html>縦<br>書<br>き<br>ラ<br>ベ<br>ル"); new JButton("<html>縦<br>書<br>き<br>ボ<br>タ<br>ン");
306 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:51:00 ] >>303 そうだよね。補完とかリファクタリングとか使用状況検索とか便利だよね。 GroupLayoutは最初は便利だと思ったけど、弄ってるといきなり位置が すっ飛んだりして、いまいち使いづらい。よく出来てるとは思うんだけど。 エディタをもっと分かりやすくすれば良さそうだけど、どうすればいいのやら。 最近は、従来のものを組み合わせた方が思ったようにできていいなと思ってる。 >>304 その発想はなかったw
307 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:52:04 ] >>305 その発想もなかったw
308 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 14:58:06 ] 90度回転させて縦にできるといいんだけどな
309 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:34:14 ] SwingのL&Fでかっこいいのないかなぁ。 国外のL&Fを今日一つためしてみたんだが、ダブルバイトが全滅。 ttp://regis.risp.pl/ まあ、外観に変化つけるときってフォントいじるから当然かな。 L&Fを自分でこさえるのは手間かかりすぎてそこまで時間とれないし、 MetalのOceanで負けとくのが今のとこ勝ちなのか。orz
310 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:46:49 ] ニンバスニンニン
311 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:05:59 ] >>310 おおっ! なんかすごそうだけど、まださっぱりわからん。 Java SE 6 Update N Early Access Programてのを落としてくればいいのかな。 これそのうちJDKに正式採用されるのかしら?
312 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:11:42 ] Synthって流行ってないのかね?
313 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:18:14 ] あれは結局全部自分で定義しなきゃいかんからLFそのものを作りたい人向けとちがうの?
314 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:23:09 ] そうだけど、ホームページの壁紙やボタン、仕切り線みたいな感じで素材化されてないのかなと。 Javaアプリケーションが普及してないってことか。
315 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:39:08 ] 画像ファイルはりつけたボタンになってしまってもいいの? アイコンはともかくボタン全体が画像で作られているのはどうも。 融通効かないし。 ボタンが数個しかないアプリとか、ゲームとかならそういうのも良いかと思うけど。
316 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:45:12 ] >>308 作ってみた public class VerticalJButton extends JComponent{ private JButton button=new JButton(){ public void repaint(long tm,int x,int y,int width,int height){ VerticalJButton.this.repaint(tm,y,1-x,height,width);}}; public VerticalJButton(String text){ add(button);button.setText(text); enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK);} public Dimension getPreferredSize(){ Dimension d=button.getPreferredSize(); return new Dimension(d.height,d.width);} public void doLayout(){ button.setBounds(0,1-getWidth(),getHeight(),getWidth());} protected void paintChildren(Graphics g){ Graphics2D g2=(Graphics2D) g.create(); g2.rotate(Math.PI/2);g2.translate(button.getX(),button.getY()); button.paint(g2);g2.dispose();} protected void processMouseEvent(MouseEvent e){ e=new MouseEvent(button,e.getID(),e.getWhen(),e.getModifiers(),e.getY()-button.getX(),-e.getX()-button.getY(),e.getClickCount(),e.isPopupTrigger(),e.getButton()); button.dispatchEvent(e);} protected void processMouseMotionEvent(MouseEvent e){ e=new MouseEvent(button,e.getID(),e.getWhen(),e.getModifiers(),e.getY()-button.getX(),-e.getX()-button.getY(),e.getClickCount(),e.isPopupTrigger(),e.getButton()); button.dispatchEvent(e);}}
317 名前:デフォルトの名無しさん [2007/11/12(月) 23:11:37 ] NetBeans5.5.1使ってるんですが、GUIビルダーで質問です JFrameフォームでフレームをつくり、 別途JPanelフォームでパネルを複数つくります。 アプリケーション起動後に、パネルを好きなタイミングで、フレームにadd()したいのですが、 SwingLayoutの影響でうまくいきません。 なにか特別なやり方があるのでしょうか? それともGUIビルダーでは不可能なのでしょうか。
318 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:46:28 ] >>316 g2.dispose(); なんだけど、これはpaintComponent()をオーバーライドしたときとか、 Graphicsオブジェクトを使ったあとはかならず実行したほうが良いの? 今までそうしてこなかったのだけど、APIリファレンスみると、 したほうが良いような感じなんだけど、いまいちわかりにくい日本語。
319 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:54:29 ] 少なくともpaintComponentでは不要じゃないかい? OverrideしなくてもpaintComponentは呼ばれるだろうし
320 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:56:01 ] >>318 Graphics#disposeでグラフィックコンテクストを開放しないといけないのは自分でそれを確保したとき。 他人が確保したものを許可無く勝手に開放するのは行儀が悪い行い。 paintComponent()をオーバーライドしたときに開放するとかはどこに書いてあったの?
321 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:08:10 ] >>320 dispose public abstract void dispose()このグラフィックスコンテキストを破棄して、使用中のシステムリソースがあればそれを解放します。 Graphics オブジェクトを dispose の呼び出し後に使用することはできません。 Java プログラムが実行されていると、短時間フレーム内で多数の Graphics オブジェクトを作成できます。 ガベージコレクタのファイナライズプロセスも同じシステムリソースを破棄しますが、関連するリソースを手動で解放することが推奨されます。 つまり、長期間に渡って完了まで実行されない可能性があるファイナライズプロセスに依存するよりも、 このメソッドを呼び出してリソースを手動で解放してください。 コンポーネントの paint メソッドと update メソッドに引数として提供される Graphics オブジェクトは、 こうしたメソッドが復帰したときにシステムによって自動的に解放されます。 効率性を確保するには、Graphics オブジェクトがコンポーネントまたはほかの Graphics オブジェクトから直接作成された場合だけ、 そのオブジェクトを使って終了したときに dispose を呼び出すようにプログラミングしなければなりません。 ----------------------------------- ということらしいんだが、dispose()不要のような必要なような、ケースバイケースのような 説明に読めたのよ。スマソ。
322 名前:316 mailto:sage [2007/11/13(火) 00:12:45 ] >>318 その g2 は g の単なるキャストじゃなくて、 g.create() で生成したものだから。 放っておいても害はないけど、解放するべきなんじゃない?
323 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:15:10 ] >コンポーネントの paint メソッドと update メソッドに引数として提供される Graphics オブジェクトは、 >こうしたメソッドが復帰したときにシステムによって自動的に解放されます。 Graphics g = createGraphics(); //--->呼び出し paintComponent(g); //<---復帰 g.dispose(); こういうことでしょ。きっちり書いてるじゃん。
324 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:17:35 ] >>322 いやだからさ、おかしいなんていってないよ。 g.dispose()と書かれたソースを今までみなかったのだけど、 開放しといたほうがいいのかななどと思ったの。
325 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:18:32 ] これってどういう意味? > Java プログラムが実行されていると、短時間フレーム内で多数の Graphics オブジェクトを作成できます。
326 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:22:01 ] >>323 paintComponentについては暗黙の了解? 説明としては抜けてる。ソース嫁といわれりゃあっそう。
327 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:34:39 ] >>326 paintComponentについてはJComponentのドキュメントを読めば理解できるかと。
328 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:36:15 ] >>321 それ勘違いしてるぞ ファイナライザとか関係ない
329 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:42:26 ] 何でよ
330 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:43:16 ] なんでφならいざが?
331 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 01:08:35 ] >>310-311 Nimbusはイメージを使わずに、すべてJava2Dで書かれてるから、解像度に依存しないのがいいよね。
332 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 01:13:28 ] >>316 動作確認してみた。いいね! やり方もエレガントだと思う。 アイコンもついてたら完璧かも。
333 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 01:25:17 ] >>331 うん。 作ってるアプリが終盤で、外観の体裁ととのえてるとこなんだけど、 今無理してL&Fいじくるより、Nimbusが標準になるまで待ったほうがトクだろうなぁ。 L&Fを自分で作ったりカスタマイズしてももすぐに時代遅れになるしね。 Metalも出てきた当時はけっこうクールに見えたし。 L&Fは服きせかえるみたいに使い捨てていきたい。
334 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 01:46:39 ] disposeは後始末 自前でgraphicsを生成した場合必須 ファイナライズの話はFileのIOをcloseしないというのと同じ話 そしてかってに呼び出し側でcloseしたらあかんだろというのと同じ
335 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 20:01:22 ] >>325 > Java プログラムが実行されていると、短時間フレーム内で多数の Graphics オブジェクトを作成できます。 いっぱい作成できると、なんとなく、うれしいジャン? とりあえず、「多数の Graphics オブジェクトを作成する可能性があります」の誤訳に一票
336 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 20:14:10 ] 久しぶりに覗いたぜ。 invokeLaterはinvokeLater間違えてAWTのSystem Queueに送ったことあるorz MIDPのGraphicsにdisposeがなくてどうやってメモリ空けようか悩んだことがあるorz Nimbusのマルチバイト化けは直ったらしいがあれ重くないか?スケーラブルなLaF目指してるんだろうけど・・・。 ただでさえ、未だにjavaは重いという迷信が信じられてるからなぁ。
337 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 20:18:53 ] 迷信というかJFileChooserは今でもひどくない? ファイル多いとファイルリストの取得とは別の何かで重くなってる印象が・・
338 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:27:10 ] >>337 JavaSE6u2からすごいことになった どうすればあそこまで悪化できるのかと
339 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:52:07 ] >>338 今はソース見れるんだから自分で調べられるよ
340 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:51:12 ] 今OpenJDKで公開されてるソースと今公式ビルドに使われてるJDKのソースは違うぞ。 jdk6がOpenJDKベースになるのはまだ先。
341 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:16:14 ] >>339 そういう意味じゃないだろ
342 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 03:38:43 ] >>337 今までひどすぎるとまでは感じなかったんだが、そんなにたくさんのファイルリストを 出すという局面に遭遇してないだけだったりする。 100個くらいリストが出ててもなんともないと思うんだが、いくつくらいだとひどいことになるの?
343 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 07:17:29 ] なんでファイル列挙系はバグが入りやすいんだろうな。 なんか共通したミスでもあるんだろうか?
344 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 07:27:12 ] ネットで調べると、でかい圧縮ファイルがあるとおかしくなるらしいね
345 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 09:30:48 ] >>336 7年後サクサク動くニンバスみて、軽いけどもう古いよなこのLaFとかいってるような気がすれ
346 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 09:32:31 ] ニンバスかっけぇんだけどさ、どうもスクロールバーが馴染めない…
347 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 09:47:09 ] 文字はみんな□になってるけどSwingSet2のデモみるかぎり、遅いとは感じないな。Nimbus。 そんでこれいつからリリースされるのかな。
348 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 12:36:16 ] >>342 u2以降は1個の表示でもすごい遅い u1まではさくさく まぁ遅いといわれたり直ったりエンバグ繰り返してるのがJFileChooserだから・・・
349 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 16:43:44 ] JFileChooserはネイティブ頼りなんだっけ?エンバグの発生率は仕方ないと思う。
350 名前:デフォルトの名無しさん [2007/11/14(水) 17:18:38 ] デスクトップのzipをどけると改善するみたい。開発で頻繁にテストする人はzipを 一時的にどけておくといいかも。
351 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:29:57 ] つーことは、JFileChooserはファイルの中身を調べるようなことまでやってるのかな。
352 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:34:34 ] Windowsのエクスプローラとか、Javaのクラスパス解決処理みたいな どっかのAPIを流用したことによる副作用とかいうオチだったらちょっと笑える
353 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:45:28 ] DirectXでIMEの例があるから笑うに笑えない・・・。
354 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:57:27 ] >>351 実行形式の場合、そのファイルのリソースとしてアイコンが格納されているんだから、 API経由か直接かは知らんけど、当然ファイルの中身は見てるはず。 で、PEとかELFとか、実行形式のフォーマットを決め打ちできない分、 アイコン読み取りが複雑になってるんじゃなかろうか。
355 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 17:06:04 ] JFileChooserのアイコンってFileSystemView#getSystemIconでしょ これが遅いってことか?
356 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 21:18:41 ] >>354 つまり世の中のGUIは全てファイル選択ダイアログは遅くて使い物にならない、と それにu1まではそんなに遅くなかった 1.4.2はいくつかのバージョンが遅いけど
357 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 22:11:41 ] sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29872 質問です イベントでコンポーネントを追加したいんですが、追加と同時に表示させるにはどうすればいいんでしょうか? repaint()ではダメみたいです
358 名前:デフォルトの名無しさん [2007/11/15(木) 22:19:39 ] >>357 jPanel1.revalidate()
359 名前:デフォルトの名無しさん [2007/11/16(金) 00:00:48 ] ああ、Swingか・・・。
360 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:51:25 ] >>357 HelloボタンをaddしたあとでMyFrame#pack()を呼ぶ
361 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 01:08:45 ] 追加はされてるけど、flowレイアウトで1つしか表示できないサイズだから消えてるようにみえるだけ >>358 で正しいよ
362 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 01:24:19 ] revalidateだけでは>>357 のソースでは「追加と同時に表示させる」ことにはならないから>>360 で正しいよ。
363 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 01:27:07 ] >>362 おまえはバカか それはレイアウトマネージャの問題であってrevalidate()で十分尽くされているんだから358が正しいんだよ
364 名前:357 mailto:sage [2007/11/16(金) 01:31:12 ] レス感謝です >>361 revalidate()って意味ありますか? revalidate()せずに、pack()だけで思い通りに表示されました
365 名前:デフォルトの名無しさん [2007/11/16(金) 01:39:53 ] >>364 いろいろ作っているうちに分かるよ。pack()でレイアウト変更後の再描画なんてよっぽど 異常なUIでもない限りやらないよ。pack()の方でフレームを広げてボタン押してみ。
366 名前:357 mailto:sage [2007/11/16(金) 02:01:39 ] たとえば、ウインドウを最大化してるにも関わらずpack()でウインドウが小さくなるのはおかしいということでしょうか?
367 名前:デフォルトの名無しさん [2007/11/16(金) 02:33:01 ] それでいいならいいけどさ。
368 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 03:04:30 ] JFileChooser パフォーマンス問題 blogs.sun.com/katakai/entry/jfilechooser_performance_issue
369 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 05:59:08 ] jdk6uN b07では直ってるらしいよJFileChooser問題 ttp://download.java.net/jdk6/6u10/promoted/b07/changes/jdk6uN-b07.html
370 名前:デフォルトの名無しさん [2007/11/16(金) 06:06:06 ] >>369 Bug ID: 6578753 Votes 65 Synopsis JFileChooser in 6u2 slow on Windows Category java:classes_swing Reported Against Release Fixed State In progress, bug Related Bugs 6491795 , 5050516 Submit Date 10-JUL-2007
371 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 09:37:29 ] アプリの二重起動についてなんだが、二重起動を確認したらそこでシャットダウン するのはよくある方法だと思うんだけど、たとえばNetBeansはもっと賢いやり方 をしている。 NetBeansが動いている状態で、それが最小化した状態でタスクバーにあるとする。 その状態でNetBeansのアイコンをクリックするなりして二重に起動しようとすると、 二重起動にはならずに、タスクバーにあるものが画面に現れる。 これってどうやったらできるのかな・・・。
372 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 10:52:18 ] >>371 Javaにはミューテックスなかったっけ?
373 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 11:34:11 ] 排他制御用のオブジェクトは同一VM上の同期に使うやつで プロセス間は別の仕組み考えないとダメ。
374 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 11:36:21 ] >>371 起動用のアプリを別に分ける。 というか、そのためにexeを用意しているようなもん。
375 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 11:55:44 ] んじゃあ手動でミューテックス作っちゃうとか。 テキストファイルで現在起動中のプログラム・インスタンス数を数えておいて、 起動時に中身が1なら起動しない。 もし>>371 のいうような挙動をしたいなら、プログラムでミューテックスファイルを監視しておいて、 ファイルの中身が2になった瞬間タスクバーからプログラムを出せばいい。 ここまで書いて思ったんだが、Swingでタスクバーから出すとかそういうそうさって出来たっけ?
376 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 12:02:05 ] 自プロセスのウィンドウを最小化解除するだけなら Frame#setState でできる でもそのファイルを監視ってのはどうするんだ タイマで1秒ごとにタイムスタンプを確認するとかか
377 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 12:09:54 ] >>376 ファイルやフォルダで変更があったときにイベント起こすような機能なかった?
378 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 12:13:16 ] >>377 NIO2で追加予定。 標準APIでなくてもいいなら、JConfigとかには付いてたと思うし >>376 のやり方で自力で実装してる人も多いんじゃないかと。
379 名前:371 mailto:sage [2007/11/16(金) 19:25:50 ] 一眠りして考えたんだが、 アプリが独自にポート開いて監視しておく。 別プロセスでアプリが起動したら、そのポートを叩く。 応答が返ってきたら、そのプロセスはシャットダウン。 応答した側のプロセスはFrame#setState でいけそうな気がするんだが、けっこうめんどくさいね。 もっと簡単にできないもんだろか。
380 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 19:36:00 ] Windowsファイアウォールとかにブロックされそうだが
381 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 19:48:42 ] ファイルサーバとかでもたまに思うんだけど、 OSはロックサーバが標準で付いててほしいんだよな CVSのロックサービスだってそのためについてるんでしょ。 AbstractFactoryパターンでインタフェース書いて、Winだけ実装作ろうかな
382 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 20:36:05 ] Preferencesを使うってのはどうかな。
383 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 20:42:19 ] sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/lang/preferences.html # 複数の VM による同時アクセスを、この API でより強力にサポートしないのはなぜですか。 同様に、複数の設定の更新を結合して単一トランザクションに組み込み、 すべて更新するかまったく更新しないセマンティクスを適用しないのはなぜですか。 この API は、持続性のある基本的なデータ記憶域として使用し、データベースの代わりとしては使用しません。 この API は、標準の設定/構成リポジトリ上に実装できるようにすることが重要です。 これらのリポジトリのほとんどでは、データベースのような機能は提供していません。 これらのリポジトリは、この API の設計目的を満たしています。
384 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 22:05:37 ] >>380 ファイアウォールの設定はユーザの責任じゃないかい。
385 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 22:08:21 ] なんにせよファイルにフラグを記録するやり方だと、アプリが異常終了して、 フラグの書き換えができなかった場合、次に起動しようとすると困ったことに なりやすい。
386 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 22:10:30 ] プラットフォームネイティブのMutexやセマフォを使うか、 オンメモリデータベースを使うってのがいいのかも。
387 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:29:41 ] ファイルチューザ同等の機能を持つファイルチューザを独自に作る場合、 こうやらねーとすっげー遅くなるぜ?っていうTips教えてくれ
388 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:04:22 ] >>387 普通に作れば遅くならんだろ… JFileChooserはネイティヴLaFに近づけるために いろいろ細工してるのが裏目に出てるだけだと思うぞ
389 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:25:54 ] touch.moe.hm/touchup_pict/download/1195233390.jpg こんな上下2ペイン構成のGUIアプリケーションを作りたいと思ってます 上ペインのJButtonをクリックすれば、下ペインのJPanelが切り替わるように作ればいいと思うんですが 普通どのようにやりますか? ■作ったサンプルではこのようにしてます 初期化で空のpanel1をつくり、その上にpanel2をadd()する 別のボタンが押されたら、panel1に載っているpanel2をremove()、panel3をadd()、validate() ちょっとわかりづらいかもしれませんが、もっといいやり方ありそうでしょうか
390 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:29:27 ] っ CardLayout
391 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:39:43 ] TabbedPaneで、タブにアイコン貼付ければいいような気がした。
392 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 04:22:23 ] >>390 使ったことないけどカードレイアウトに同意
393 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 05:09:46 ] >>388 Fileが遅くなってるから、普通に作ったら遅くなるよ。 しったか乙。
394 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 05:12:23 ] JFileChooserの速いバージョンを作りたければ、FastFileを使うといいよ
395 名前:371 mailto:sage [2007/11/17(土) 10:35:15 ] >>379 のやり方実装してみたけど、うまくいくみたい。
396 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 10:40:08 ] >>395 やってみた事ないけど、 途中でトラぶってコネクションクローズの前に死んだ場合は二重起動しちゃうの?
397 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 10:44:33 ] >>396 ローカルホストの接続でとらぶるって、どんなときにとらぶるかな。 そこらへんの想定外のことがあるかどうかは気にはなってんだけど。
398 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 10:54:59 ] >>397 他のアプリがそのポートを使っていて重複する場合 ファイアーウォールが入っていてはじかれる場合 今どきめずらしいけどLANがついてないマシンだとどうなるっけ?
399 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 15:21:39 ] > 今どきめずらしいけどLANがついてないマシンだとどうなるっけ? 頭大丈夫か?
400 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:21:11 ] スタンドアロンのPCがあるからネットワークサービス止めて試してみようか? たぶん、接続段階で例外投げられたはずだけど。 jarでクレw クローズ処理をfinalyでやってるなら途中でシャットダウン入るとfinalyブロック中断されるからそれでもアウトだね。
401 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:46:33 ] イーサネットがあってもなくてもlocalhost(127.0.0.1)にアクセスできるだろ… # TCP/IPを外してあればできないのか?
402 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:49:59 ] ネットワーク完全にとめるとループバックももちろん完全にだめ Win95以前はまずループバックアダプタいれての開発がデフォだったな
403 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:56:04 ] そういうアダプタ用MACアドレスもあるのかな?別に無くても困らないけど。
404 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:15:28 ] >>402 そもそも Win95 ってデフォルトのインストール だと TCP/IP が組込まれてないようなOSだろ…
405 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:27:56 ] 独自のネットワークサポートするから良いんです。 ゲイツ「インターネットなんて一般人にはやんねーよw」 時代の産物だからな。時代の流れか。
406 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 20:13:33 ] JDK1.5がそもそもWin95だともう動かんのじゃね? とくにGUIまわり。
407 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 20:40:37 ] java.sun.com/j2se/1.5.0/system-configurations.html Win95はサポート外だね
408 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 20:43:39 ] サポートの話なんて誰もしてないだろと
409 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 21:24:54 ] 設定でTCP/IP無効にしたらダメなんじゃねぇの?
410 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 21:57:44 ] アプリの性質にもよるわな。 DBやネットに接続するようなアプリなら、イーサカードが使えない環境に インストールされることなんて無いしさ。
411 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 22:11:04 ] 「カードがない環境ではlocalhostもアクセスできない」 というのが当然みたいにいってるが、だれか試したことがあるのか? その理屈だとNICがない環境ではローカルでのサービスは動かんのだが。
412 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 22:53:06 ] >>411 NICないと実際IPサービスはうごかんよ ループバックいれてれば動くが という常識的な流れだろ
413 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 22:57:37 ] >>407 あんまり関係ないけど・・・、SunはMacのJVMはやってないんだね。 Macはどこがやってるんだろ。Macユーザじゃないからうといんだわ。 Winが80%をしめてるといわれるわりに、周囲にはMac使いが多くて、 じゃあその人たちにも使えるようにとJavaで作り始めたんだが、 肝心のSunはサポートしてないんだね。
414 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 22:59:52 ] まあいいじゃん。今時カード入ってないマシン使ってる人なんて ごくごく少数。クレームついても仕様ですで押し通せば。
415 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:02:33 ] >>413 Macはアップルがやってる 6がまだ出てこない…
416 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:11:12 ] >>415 そうなんだ。ありがーと。 6をはやくだしてほしいわ。5で動くようにと思ってたんだけど、 6を知るとついつい6の機能を使ってしまったような・・・
417 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:43:28 ] NetBeans6 + JavaSE6 + glassfish2の組み合わせの軽さは異常
418 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:40:44 ] >>416 ついこの前にそれではまった… JFileChooser で FileNameExtensionFilter 使ってて Mac OS X で動かねーって言われるまで気が付かなかった # Apple は 6 を出す気があるんだろうか…?
419 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:44:26 ] Mac なんて捨てていいよ
420 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 01:03:20 ] Macの6はDPのままだにぃ。 Cocoa-Javaバインディングも放置になったし、やる気なさそう。
421 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 01:19:05 ] OpenSource版ががんばってくれるんじゃね?
422 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 01:42:24 ] 多少のタイムラグはあってもMacでも6は出るだろうし、 7でも8でも出てくると思うけどね。 Javaはいつも明日の言語なんだよな。w 明日はごちそう、でも今日は無い。w
423 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 01:44:33 ] AppleはJavaに対してなかなか気合いが入ってると思うけどなぁ。 ただ、やろうとしていることに作業が追い付いてないだけで・・・。
424 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 02:05:50 ] 前は気合い入ってたんだけど、新しめの機能のフレームワークに対応する Javaバインディングを出すのはもうやめてる。 LeopardではBridgeSupportでなんとかできるのかもしれないけど。
425 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 02:09:41 ] てかMacOS Xてunix互換なんだろ?CPUもIntel系にしたのに既存のコード使えないのか?
426 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 02:18:14 ] >>423 時間が経つごとに気合がなくなっていってるっぽいよなぁ >>425 CPUがインテルでもベースがUNIXでも肝心なGUIライブラリは別物なので結局移植作業は必要
427 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 02:20:29 ] プロセスとかファイルシステムとかあたりはunix互換でも、 グラフィックとかサウンドとかあたりは全然別物だし・・・
428 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 02:38:18 ] 追加機能が増えたりバージョンあがるごとに仕様かわったりで 追従していくの大変すぎるんじゃないのかなぁ。 JVMさえ開発すればどのマシンでも動きますなんてただの宣伝文句で、 それ作ろうとしたらすげー大変だと思うよ。
429 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 13:28:02 ] 技術者の量・質を考えたらAppleがJavaを管理するのは無理そうだな できあいの既存のものを改造していくのには慣れていても、 継続的にある規格に互換させていく作業ってのはやってこなかっただろうし。
430 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 14:37:15 ] >>428 それが基本ソフトとよばれるものなんだけどな 互換性をいかに維持するか 新しいOSごとにアプリ全部作り直しなんてやってられん このスレ的にはApple捨ててよで結論でてるだろ 5.0のときの対応も遅かった
431 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 14:41:36 ] マック使う人はアポー謹製ソフトさえありゃ満足なんだから放置しとけばいい
432 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:17:40 ] デザイナはAdobe製ソフトも入ってないと困るよ
433 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 20:54:18 ] mac osxはカーネルより上のレイヤーはXですら自前だからなぁ。 GUIが自前とか言う次元超えてるよ。
434 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:29:34 ] >>431 V2Cが無ければとても困ると思うの
435 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 03:17:02 ] なんとかとハサミは使いようというじゃない。w
436 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 10:31:31 ] せっかちな人にはJavaは向かないね
437 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 13:22:30 ] マック信者をJavaで逆洗脳してみたいwww
438 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 13:46:40 ] Mac信者かつJava信者ですが何か? でもCocoa-Javaはいらないと思ってる。 そういうのはRubyとかでいいんじゃないかな。 Javaはクロスプラットホームが基本です。 クロスプラットホームだけど、Macでは見た目を良くする。 ttp://developer.apple.com/technotes/tn2007/tn2196.html その他のプラットホームでは、Nimbusに期待してる。 ttps://nimbus.dev.java.net/spec/index.html どっちも解像度に依存しないし、スモールサイズなんかは共通して使える。
439 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 14:33:56 ] 6での大幅な改善点がデスクトップアプリの強化(大量にバグもちだが)と 大幅な高速化(1.3.1から1.4.0より大きな変化)だから もうすぐ1年たつというのにMacに6がきてないのは苦しい
440 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 15:16:27 ] アップルの独自実装だからmac版が早くなるか分からないんじゃない? 糞実装を何とかしてくれればそれで良いと思うが。
441 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 19:21:46 ] まあぶっちゃけV2Cが1.4.2で動く事からも Macが6をサポートしなくても当分困らないんだよな 5.0が動くだけでも十分じゃね
442 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 20:59:51 ] そんな後ろ向きな姿勢じゃいかんよ
443 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 21:07:37 ] JTreeで幹や葉をクリックしたり、矢印キーで移動させたときに 選択している幹や葉のファイルを別のJListに表示したい。 この場合、イベントはvalueChangedでいいんでしょうか? それとなにか注意点とかありますでしょうか
444 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 00:03:52 ] データ転送じゃね?
445 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 12:44:57 ] >>443 マニュアル読んで判断したならいいでしょ あとvalueChangedってメソッド名だけ出しても普通の人はわからんと思うよ
446 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 15:08:37 ] 下手にJTreeのvalueChangedいじったらパフォーマンス落ちね?
447 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 15:31:17 ] 上手にいじれば良い
448 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 19:38:15 ] それが出来るならこんなところで確認してないと思うが? まあ、ドキュメント読めば分かることだが。
449 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:58:16 ] JFrameの下部にStatusBarを取り付けようとしています。 単純にBorderLayout.SOUTHで問題はないのですが、BorderLayout.SOUTHに当たる領域は後々別に使用するかもしれないので、完全に別領域として下部に取り付けたいのです。 イメージ的にはsetJMenuBar()と同じような感じです。 どのような実装がよいでしょうか?
450 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:10:09 ] JPanel に BorderLayout をセットして JFrame の CENTER に置く JFrame の SOUTH をステータスバーのために使って、 JPanel の SOUTH を後々別に使用するときのために取っておく
451 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:13:45 ] そのようにした場合、ステータスバーをセットするJFrameのCENTERにコンポーネントを加えたいときにわざわざそのJPanelを取得後貼り付けないといけないので避けたいです。 他にはないでしょうか?
452 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:25:57 ] >JFrameのCENTERにコンポーネントを加えたいときにわざわざそのJPanelを取得 いや、最初から、JFrame じゃなくて JPanel の CENTER に入れればいいじゃん。 わざわざ取得っていうか、JPanel 作ったときにそれをフィールドに持っとけばいいだけでそ? 本当にどうしても JMenuBar のように振舞わせたくて他に方法がないというなら、出来ることは出来るけどちょっと面倒い。 JRootPane の中の layeredPane と glassPane と、layeredPane の中の contentPane と JMenuBar (と自分の statusBar) をレイアウトするレイアウトマネージャを書いて、JRootPane のレイアウトマネージャをそれで置き換える。
453 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:27:53 ] Windowsに限定しちゃうかも知れないけど、 %USERPROFILE%\Local Settings\Application Data ↑のディレクトリの中に変なGUID名のディレクトリが作られてて 中を見るとJ2SDK5.0のインストーラみたいなのが入ってる。 うちの環境にはJDK6も入ってるけど、5系だけゴミ?があるので気になります。 これって削除しちゃっていいのかな?
454 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:34:12 ] >>452 そうなのですが、どうしてもメニューバーのように扱いたかったので・・ やはりかなり面倒なことになるようですね。 丁寧に教えていただきありがとうございました。
455 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:40:36 ] ボーダーレイアウトでいいだろ 面倒ではないだろと
456 名前:453 mailto:sage [2007/11/23(金) 00:44:03 ] 質問・相談スレに書くつもりが誤爆してました。 こちらはクローズします。ごめんよぅ。
457 名前:デフォルトの名無しさん [2007/11/25(日) 00:15:06 ] 質問相談スレで聞いたところ、こちらで聞いたほうが良いと教えていただい たので質問させていただきます。 現在、携帯電話でいうフレーム撮影機能をPC上でJAVAを用い、作りたいと考え ております。USBカメラから動画キャプチャを行い撮影ボタンを押すとその時の 静止画がJPEGで保存するところまでは作ったのですが、写真フレーム(gif)を 動画上に表示する方法がわかりません。API集の方も探してみたのですが、見つ けることができませんでした。誰か方法について教えてもらえませんでしょう か??よろしくお願いします 初心者でして簡単なソースなどつけていただけると助かります。
458 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 00:18:56 ] 一番簡単なのは ・ImageのロードにはImageIOを使う ・JLabelを貼り付けてそれにImageをセットする ネットで初心者かどうかってのは意味ない文章だからやめたほうがいい 知っているか知らないかだけだから
459 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 00:23:38 ] JMF使ってる?
460 名前:デフォルトの名無しさん [2007/11/25(日) 00:23:49 ] 動画を描画するコンポーネントのpaintComonent(...)をオーバーライドして super呼んだ後に、drawImage(...)でOKじゃね?
461 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 00:35:49 ] いや >USBカメラから動画キャプチャを行い撮影ボタンを押すとその時の >静止画がJPEGで保存するところまでは作った ここにJMF使ってるならJMF流儀の動画の描画の仕方があるから動画のキャプチャをどうやってるかでやり方が決まる。
462 名前:デフォルトの名無しさん [2007/11/25(日) 01:30:58 ] JMFをつかっています。 キャプチャ部分となりますと new Timer(100, new ActionListener(){ try { player = Manager.createRealizedPlayer(new MediaLocator("vfw://0")); } catch(Exception e){ System.out.println(e); System.exit(1); } player.start(); ここになりますでしょうか。 ご教授よろしくお願いします
463 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 02:44:57 ] >写真フレーム(gif)を動画上に表示する これがやりたいんだよね? ならEffect実装してProcessorからTrackControl取り出してTrackControl#setCodecChain(Codec[])で実装したEffectセットしてやれば良い。 んでProcessor#getVisualComponent()で取得したビジュアルコンポーネントを適当に張り付ければ良い。 あとはJMFのページのチュートリアルとかサンプルコード読んで。
464 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 20:21:48 ] 日本語を入力時、「確定はされていない文字列入力状態中」(Windowsでは文字の下に破線が引いてある状態)を調べる方法はありますか?
465 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 20:22:47 ] ImmGetCompositionString
466 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 20:23:19 ] ごめん、ここJavaだったorz
467 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 20:34:01 ] Component に addInputMethodListener を仕掛けておけば取れるみたい?
468 名前:464 mailto:sage [2007/11/27(火) 20:44:22 ] >>467 InputMethodEvent#getCommittedCharacterCount() で判別できそうですね。 ありがとうございました!
469 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 15:28:42 ] Java Web Startのアプリで、jnlpファイルの中で <security> <all-permissions/> </security> を設定していて、jarにはオレオレ証明書でサインしている。 確かにファイルアクセスなど自由にできるから、 この設定は有効化されているはずなんだが、 Point p = MouseInfo.getPointerInfo().getLocation(); で Exception in thread "AWT-EventQueue-0" java.security.AccessControlException: access denied (java.awt.AWTPermission watchMousePointer) が出るのって、これはどういうことなんだろ。 JWSで動かさなければこのエラーは出ないんだが。
470 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 14:03:31 ] >>469 JWSのバグでね? そのクラス1.5からのやつだからもしかしたら・・・
471 名前:デフォルトの名無しさん [2007/12/01(土) 00:09:26 ] frameにタブだけ貼り付けたの作ると、 初めに、タブのタイトル部分に選択状態みたいなのが行くんだけど、 それをタブに貼ってある、jCheckBoxに初めから行くようにしたいんだけど、 windowsのアプリはそうなるようなんで。 どうやったら出来ますか?
472 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:49:32 ] フォーカスのトラバーサルいじるAPI群なかったけ?
473 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:54:40 ] 初期状態ってことならオープン時にフォーカスセットしてあげれば?
474 名前:471 [2007/12/01(土) 01:19:46 ] jCheckBox.requestFocusInWindow(); よく分からないけど、setVisible(true)した後しかフォーカスがいかないな…
475 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:19:51 ] >>471 つrequestFocusInWindow() 俺はタブはいつもsetFocusable(false)するなぁ。
476 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:26:01 ] >>474 つaddAncestorListener() ancestorAddedでrequestFocusInWindow呼んでみそ
477 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:27:34 ] ふつーにオープン時でいいとおも
478 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:28:59 ] >>477 それだとタブで切り替えたときにフォーカスが移らないってことだとおも
479 名前:471 mailto:sage [2007/12/01(土) 01:59:35 ] >>476 おーサンクスサンクス。 これで完璧だわ。AncestorAdapterは何故かないんだな
480 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 02:59:55 ] アダプタクラスは実装するメソッド数が少ないか そのインターフェースの多くが実装される可能性が高いリスナーは 利便性が低いからアダプタクラス用意しないって方針だよ。
481 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 10:36:16 ] JPopupMenuの使い方なのですが、ポップアップメニューの対象によってメニュー内容を変えたい場合、一般的にどのような方法を取るのがよろしいでしょうか? 単純に対象を毎回チェックしてその対象に必要なメニューを構成する、というのはどうも気持ちが悪くて・・
482 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 12:02:52 ] リスナーのフィールドにして遅延生成すればいいだけじゃない?
483 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 12:35:03 ] 対象の種類ごとにJPopupMenuを予め作っておく・・・・のはムダが多いか
484 名前:481 mailto:sage [2007/12/01(土) 12:48:32 ] >>482 遅延生成とはどういうことを指すのでしょう やはり表示毎に必要なメニューを生成という意味でしょうか? >>483 例えば対象の種類にあらゆる属性があり、その属性ごとに必要なメニューがある場合、その組み合わせをあらかじめ作っておくのは好ましくないかと・・
485 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 12:55:47 ] じゃあ、すべての項目を含めたJPopupMenuを1個用意しておいて、各JMenuItemのsetVisibleを切り替えるとか
486 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 14:24:05 ] >>478 そういう意味だったのか あの日本語からはそこまで理解できなかったよ
487 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 14:28:15 ] >>481 表示される項目が全て画面に収まるのならすべていれる。 そして選択可能不可能で調整したほうがいいんじゃない? コンポーネントによってメニューがかわるより、メニューは同じで選択可能か不可能かのほうが ユーザーに優しいとおもわれる。 この選択肢は下のほうにあるとか上のほうにあるとかコンポーネントごとにかわっていたら厄介だ。
488 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 15:01:14 ] JFrameの上には、とりえあえずJPanel置くべきですか?
489 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 15:04:11 ] packの仕組みをしっているのならおいたほうがいい そうでなくともパネルに機能単位でのせていったほうが楽になるかな グループレイアウトを使うのなら場合によってはなくてもいいかも
490 名前:481 mailto:sage [2007/12/01(土) 15:52:06 ] >>485 >>487 とりあえず全部登録しておくのが楽なようですね。 場合によってsetVisible、setEnabledで使い分けようと思います。 ご意見ありがとうございました。
491 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 18:02:09 ] >>480 そうなんだ〜。まぁ、よく使うなら自分でAdapter作ればいいしね〜。
492 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 18:44:49 ] LinuxのSwing上でトラックポイントのセンターボタンでスクロールしたときに コンテキストメニューが開いちゃうんだけど、心当たりがある人いる? JavaはSunの1.6.0_03
493 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 19:12:28 ] これかな? sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/awt/1.3/designspec/popupmenu.html >・Windows では、マウスボタン 2 マウス UP でメニューがポップアップする >・Motif では、マウスボタン 3 マウス DOWN でメニューがポップアップする
494 名前:デフォルトの名無しさん [2007/12/02(日) 21:54:41 ] 以下の挙動で、困っています。 JNLPでデスクトップにショートカットアイコンを作成し、 そのアイコンに何らかのファイル(何でもいい)をドラッグアンドドロップすると、 「このアプリケーションは起動できません」「詳細」「了解」というダイアログが表示される。 ここで「詳細」ボタンを押すと、次のような情報が表示される。 ※C:\Users\hoge\Desktop\新しいテキスト ドキュメント.txt をドラッグアンドドロップした場合。 InvalidArgumentException[ 無効な引数が指定されました: {C:\Users\hoge\Desktop\新しいテキスト ドキュメント.txt, C:\Users\hoge\AppData\Local\Temp\javaws12 }] at com.sun.javaws.Main.launchApp(Unknown Source) at com.sun.javaws.Main.continueInSecureThread(Unknown Source) at com.sun.javaws.Main$1.run(Unknown Source) at java.lang.Thread.run(Unknown Source) で、問題なのは、ここで、ドラッグアンドドロップしたファイルが、 何の断りもなく、いきなり 削除 されてしまう、ということなのです。 この不具合は、あらゆる全てのJNLPアプリで、全てのOSで再現しました。 こうした挙動を防ぐような、何らかの対策をすることは可能でしょうか?
495 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 00:20:49 ] >>494 MacOSX Leopardでやろうとしましたが再現しませんでした。 何よりファイルにDnDができない。 bugreport.sun.com/bugreport/ で報告してください。 報告時は具体的な再現方法と再現環境を書いておくのが吉です。 ありとあらゆる、というのはちょっと曖昧すぎます。
496 名前:デフォルトの名無しさん [2007/12/03(月) 01:24:26 ] ごめん、たしかに、MacOSでは試していない。 あと、64bit用のJREやSolarisでも試せていない。 こちらで試したのは、Windows Vista, Windows XP SP2, UbuntuLinux(7.04)の上で、 1.4.2_16,1.6.0_03,1.6.0_10-ea(いずれも32bit用)。 ここまでやって、いずれの環境でも再現した。 いま、Java7でも試そうとしているところ。 Javaキャッシュビューアで、インストール済みのJNLPアプリについて 「選択されたメニューのショートカットを作成」または、 右クリックメニューで「ショートカットの作成」で、 ショートカットがデスクトップにすることができる。 そうして作られたショートカットに、 ユーザが何かのファイルを放り込むと、 そのファイルが勝手に削除されてしまう、ということ。 ユーザがデスクトップ上のメモ帳のショートカットにファイルをDnDして 開こうとして、まちがって隣のJNLPアプリのショートカットにドロップしたところ、 そのファイルが勝手に削除されてしまう、という感じ。 > 何よりファイルにDnDができない。 たぶん、そういう挙動が正常なのだと思う。
497 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 11:36:46 ] 質問です。JButtonがアイコンであるGIFファイルの縦横サイズより結構大きくなってしまうのですが、コンパクトにする方法は無いでしょうか?
498 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 12:06:32 ] >>497 JButtonのjavadocを隅から隅まで読んで しかるのちにボーダーのマージンを設定したらいいよ
499 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 14:21:41 ] >>498 497です。できました。ありがとうございます。
500 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 02:03:22 ] JFrameでgetContentPane()をしなくてもよくなったは、いつからですか? 自動的に転送されるようになったってのを読んだのですが。
501 名前:デフォルトの名無しさん [2007/12/06(木) 02:06:17 ] 5.0
502 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 02:10:45 ] 即レスthx
503 名前:デフォルトの名無しさん [2007/12/07(金) 22:41:46 ] シューティングを作りたいと思ってます メイン画面とスコア画面があって、 それぞれJPanelを継承したクラスを作ってMainPanel,SubPanelと作ろうと思ってるんですが、 この方法は値の受け渡しが面倒くさくなったり、重くなったりしますか? 普通はひとつのゲームは大体1パネルですかね?
504 名前:デフォルトの名無しさん [2007/12/07(金) 22:43:16 ] 普通はゲームにSwingなんて使わなくないか? ましてシューティングで・・・
505 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 22:45:12 ] Javaの勉強もかねて作ってます 最近はSwingもだいぶ早くなったと聞いたんですが...
506 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 22:51:48 ] ゲームなら、Frameに直接描けばいいと思う。 BufferStrategyを使うのも良し。
507 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 22:52:23 ] 400x300で24fpsくらいで試してみるといいよ。 Swingはシングルスレッドだから、パッシブ連打でも問題ないはず
508 名前:デフォルトの名無しさん [2007/12/07(金) 23:00:08 ] パッシブ連打とは?
509 名前:503 mailto:sage [2007/12/07(金) 23:01:39 ] Frameに直接書くってことはpaintComponentメソッド内に メイン画面用とスコア画面用の描画処理が混在してるってことですよね? そうすると片方の画面の背景だけ変更するなどの処理とかがややこしくはならないですか? パネルで分けるとコードがすっきりする気がするんですが
510 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 23:05:41 ] パッシブ・レンダリング=描画イベントによる受動的なレンダリング(repaint()) アクティブ・レンダリング=自発的に描画を実行するレンダリング(Toolkit.sync(), BufferedStrategy)
511 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 00:30:40 ] >>503 つまりWindowシステム普及前のゲームプログラミングが難しかったと思ってる? んなことないよ 練習がてらというのならSwingつかってもいいけどメリットはあんまないとおもうよ JLabelのアイコン指定でキャラ表示とかSwingというフレームワークで 描画や再移動とかそういうことでしょ? 途中でもっといいものを、もっと本格的なものを、となって挫折しそう あとpaintComponentではゲームのレンダリングの処理はいれないことね
512 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 00:31:36 ] さらに付け加えるとパッシブレンダリングはいわゆるトリプルバッファを使わないといけないから注意ね ダブルバッファじゃダメ
513 名前:503 mailto:sage [2007/12/08(土) 00:51:35 ] 全体的な流れとしては、レンダリング(描画?)は各オブジェクト(敵、弾)のクラスのdrawメソッド(メソッド名は自由?)などで行い、 paintComponentはそれを呼び出すだけ。で、必要に応じてrepaint()を行うとpaintComponentが再描画されるという感じでしょうか?
514 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 00:59:58 ] paintのタイミングは自前のrepaintだけじゃないからそれはやっちゃだめ ウインドウの重なり具合とかOSが画面をいきなりリフレッシュしたりとかあるから 各オブジェクトにdrawのインターフェースを実装させるという考え方はあってる レンダリングは自前でAというバッファへしてるとすると、 その間描画はBというバッファからイベントでフロントへ描画させる Aのレンダリングが終わったらAとBをいれかえて、次のフレームの描画はBへ行う バックバッファへのレンダリングとフロントへのレンダリングが重なる場合もあるという考え方ね
515 名前:503 mailto:sage [2007/12/08(土) 01:09:30 ] ダブルバッファがいまいち理解できてないのでもうちょっと勉強してみます。 答えてくださった方どうもありがとうございました
516 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 01:16:16 ] 本当はJavaでゲーム作成というスレがあったんだけど最近おちちゃったんだよな ゲーム製作板とかいろいろと斜め読みしてみるといいかも
517 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 03:09:19 ] Javaでゲームってのはなかなか前衛的でおもしろいと思うんだが、 如何せんパフォーマンスが悪いのが致命的なんだよな。 いくら努力しても、一定以上FPSが上がらんとなるとどうしても敬遠したくなる。
518 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 06:27:05 ] 勉強として作るプログラムも題材の選び方はかなり重要だよ。 努力するほど深まって発展していく題材と、 底の浅いところですぐに打ち止めになるのがある。
519 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 08:27:04 ] 勉強の段階なら、何を作っても勉強になる。
520 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 08:28:32 ] Javaでエロゲぐらいなら作れそうじゃね?
521 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 09:47:04 ] アクションだろうがパズルだろうがなんでもできるんじゃないの。 ブロック崩しやテトリスくらいなら楽勝。 ゲーム専用機であるようなハデなアクションゲームを作りたいならお門違い。
522 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 09:49:46 ] あと速く動かしたいなら画面小さくすればいいんだよ。256 * 192とか。w 昔のアーケードゲームの解像度はせいぜいその程度だったしさ。
523 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 11:36:49 ] シューティングやアクションはともかくとして リアルタイムシミュレーションとか向いてると思うけどな>java スレッド周りとか楽々作れるし
524 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 12:55:52 ] ゲ制作板で話せ
525 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:32:05 ] >>517 まじていってるの?
526 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:33:14 ] リアルタイムのアクションものも余裕で出来るよ IntelCore2/2GHzでJavaで動かすとCネイティブだと1.6GHzくらいの速度になるけど それが問題になることはまずあるまい
527 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 01:17:57 ] [MainFrame.java] public class MainFrame extends JFrame { public MainFrame() { MainPanel mp = new MainPanel(); Container contentPane = getContentPane(); contentPane.add(mp); } public void main(String[] args) { MainFrame frame = new MainFrame(); frame.setVisible(true); } } [MainPanel.java] public class MainPanel extends JPanel implements ActionListener{ public MainPanel() { SubPanel sp = new SubPanel(); } public void actionPerformed(ActionEvent e) { setBackground(Color.BLACK); } } [SubPanel.java] public class SubPanel extends JPanel { public SubPanel() { JButton b = new JButton("メインパネルの色変更"); b.addActionListener(); }
528 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 01:23:46 ] ↑の様な構成で作りたいんですけど、うまくいきません。 ようするにSubPanelのインスタンスからMainPanelのインスタンスへ アクセスするにはどうすればよいのでしょうか? MainFrameでMainPanelのインスタンスをpublicでstaticにしたりいろいろやったのですが、 うまくいかないのでどなたか教えてください。
529 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 01:47:12 ] >>528 SubPanelにボタンのaddActionListenerを委譲して MainFrameからやりたいことを教えてあげればいいんじゃないの?
530 名前:528 mailto:sage [2007/12/10(月) 03:21:26 ] >>529 すいません 委譲がいまいちわからないんですが、SubPanelとMainFrameにaddActionListener()メソッドを作り、MainFrameにactionPerformedメソッドがあるような感じですか? 今までは↓のような形で出来るかなとやっていたんですが、うまくインスタンスにアクセスできていないみたいなんです。 もし↓で出来たとしてもなにか強引過ぎる気がします。もともと構成がありえないんですかね? [MainFrame.java] public class MainFrame extends JFrame { public static MainFrame frame; public static MainPanel mp; public MainFrame() { mp = new MainPanel(); Container getContentPane.add(mp); } public void main(String[] args) { frame = new MainFrame(); } } [MainPanel.java] public class MainPanel extends JPanel implements ActionListener { public MainPanel() { sp = new SubPanel(); this.add(sp); } public void actionPerformed(ActionEvent e) { setBackground(Color.BLACK);}} [SubPanel.java] public class SubPanel extends JPanel { public SubPanel() { JButton b = new JButton("メインパネルの色変更"); b.addActionListener(frame.mp);}}
531 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 10:02:09 ] MainPanelはPaintComponentをオーバーライドしないといけない気がする…
532 名前:531 mailto:sage [2007/12/10(月) 10:06:52 ] やっぱ要らないか
533 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 10:45:47 ] >>530 設計方針とか変更不可のクラス等の制約条件とかが分からないけど 手っ取り早くやるならMainPanelとSubPanelの親子関係がそのままなのを前提に b.addActionListener((MainPanel)getParent());
534 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 11:19:28 ] 俺なら SubPanel#addColorChangeActionListener(listener){b.addActionListener(listener);} を作る方を選ぶかな。
535 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 12:32:25 ] これってSwingの話ですらなくて言語の基本の話だろ? なんでstaticがでてきたりするんだ? まずは言語の勉強からやりなおしたほうがいいんじゃないかい?
536 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 12:51:30 ] たぶんMainFrameやMainPanelのインスタンスをSubPanelで参照する方法が分からなくて、 b.addActionListener(frame.mp);}}ってやってもコンパイルできなくて、 b.addActionListener(MainFrame.mp);みたいにできるようにクラス変数にしちゃったんだと推測。 プログラムの設計と実装の仕方を良い参考書や良いソースを見ながら勉強した方がいいと思う。
537 名前:530 mailto:sage [2007/12/11(火) 00:36:38 ] >>536 正にその通りです >>533 getParent()なんてのがあったんですね どうもありがとうございました
538 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 13:58:13 ] >>530 のコードを見る限り getParent()は使わないほうがいいな 独立性が失われるのにListenner使ったりとかありえん まず言語の基本の勉強からしたほうがいい 近道しようとしても無駄だと思う ここ本当に基本中の基本だから
539 名前:503 mailto:sage [2007/12/11(火) 17:52:44 ] >>538 すいませんご指摘ありがとうございます SubPanelのコンストラクタでgetParent()しても、その時点ではMainPanelの子にはなってないということですよね >独立性が失われるのにListenner使ったりとかありえん これはimplements ActionListenerのことですかね アダプタクラスというのを使ったほうがいいということでしょうか 一応基礎はやったつもりでいたんですが、今回GUI使うことでぜんぜん理解できていないことに気づいてそれだけでもよかったです もう来ません ありがとうございました。
540 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 18:53:25 ] もうきませんって捨て台詞・・・はもうきこえてないか インスタンスの参照を渡せばいいだけでしょ? それができないってことはJavaの勉強1週間程度しかしてないということかな?
541 名前:530 mailto:sage [2007/12/12(水) 00:36:46 ] ながながとスレ違いすいません 勉強はJavaの入門書を一通り読んだんですが(スレッドくらいまで。デザインパターンは全く)、ちゃんとは理解できてなかったようです。 参照を渡すといいましても>>530 のコードだと難しくないですか? コンストラクタでいろいろやってるのも悪いんですかね 本当にこれで最後にしますんで、 MainPanelとSubPanelが連動していて(Subのボタンを押すとMainの内容を変更したりする)場合、 どんなコードになりますか?親切な方おねがいします
542 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:37:50 ] いや、普通に継承してるんだから MianPanelはSubPanelを生成してあげたあとにセットしてあげるでもいいんじゃない? SubPanelに private MainPanel mainPanel; public setMainPanel(MainPanel panel){ this.mainPanel = panel; } と追加しておいて sp = new SubPanel(); sp.setMainPanel( this ) ; this.add(sp); とするといい。 subからMainを触りたければ上で定義したprivateなmainPanelに対してアクセスをする。 MainPanelでSubPanel作って乗せてるだけだからこれでいいと思われ。 MainPanelが先に消えたりする可能性があるとかだとリスナーいじってどうのこうのが必要になるけど たぶんあなたがやりたいのはこれで十分かと。
543 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:44:04 ] そもそも設計の段階で間違えてるんじゃないか?
544 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 08:34:31 ] >>542 それだと SubPanel が汎用性の低いクズパーツになるだろ。 SubPanel がボタンを持つパネルならそのボタンのアクションリスナーを >>534 のように SubPanel に委譲してやったほうがいい。 public class SubPanel extends JPanel { private JButton button; public SubPanel(String buttonText) { button = new JButton(buttonText); this.add(button); } public void addButtonActionListener(ActionListener listener) { button.addActionListener(listener); } } public class MainPanel extends JPanel implements ActionListener { public MainPanel() { SubPanel panel = new SubPanel("メインパネルの色を変更"); panel.addButtonActionListener(this); this.add(panel); } public void actionPerformed(ActionEvent e) { this.setBackground(Color.BLACK); } }
545 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:06:00 ] >>544 アクションイベントだけならそうだろうけど GUIってそれ以外のプロパティの変更とかふつうはやるものだし
546 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:35:41 ] main panelをある構造に従って作るようにして、sub panelでその構造を変化させたらいいんじゃないの?
547 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:44:05 ] そこまでの設計が出来ていればこんな質問はせんだろうと。 ActionListennerをMainPanelで実装している時点で複数のイベント対応がおわっとるわけで。
548 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 15:31:50 ] >312でも書かれてるけど、Synthって流行らないのかなー。 スキンがXMLファイルと画像で済むならたくさん配布されてそうなのに、 どうして一個も見つからないんだろう・・・
549 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 15:37:42 ] まず最初の一個を>>548 が作って布教
550 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 15:41:15 ] つ Nimbus
551 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 15:48:27 ] よーし作っちゃうぞー Synth Studioにちょっと期待。 weblogs.java.net/blog/gfx/archive/2005/09/synth_studio.html >550 Nimbusもいいと思うんだけど、とにかく数が出ないことにはなんとも多様性が少なすぎます。
552 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 16:38:29 ] スキンを色々着せ替えたい人ってどんなアプリ作ってんの? 着せ替えできることを売りにしてるアプリで俺が最初に思い出すのがCDプレイヤー。
553 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:03:49 ] NetBeansで気分転換にLAFかえるとかは5.0のころ流行ったなぁ 参考: ttp://d.hatena.ne.jp/nowokay/20060223#1140636171 Substanceは6.0では動かないくさいけど
554 名前:デフォルトの名無しさん [2007/12/12(水) 17:10:21 ] ウィンドウをキャプチャし、JPGで保存するようなプログラムを作成中です。 手法、使用APIなどご教授お願いします。
555 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:18:24 ] >>554 なぜここで聞く?質問スレ行った方がいいんじゃないか?
556 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:37:28 ] キャプチャに関してはRobotがAWTパッケージに入ってるからかな? って感じでもないか。 知ってたらBufferedImageを保存するには?って聞くだろうし、それはスレ違いか。
557 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:44:29 ] >>553 そういう感じのLAFがカッコイイと思う人もいるんだろうけど・・・ ブログのスキンとは求められてるものが違うんでね?
558 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 18:39:42 ] Nimbusってjava LAFの置き換えなんだろうか? それとも共存するんだろうか? NimbusってSynthで全部自前でやってるせいか少し重いからイマイチなんだが。
559 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 19:16:20 ] 重いかな? というか、エンジン部分が決まっているので むしろこれからのチューニングに期待できるんだけど。 Nimbusが出てきてからSubstanceへの興味はだいぶ薄れちゃったな・・・ V2Cは、6u10に入ってるNimbusで綺麗に動くので最近はNimbusで見てる。 素のMetalやOceanよりしっくりきてる。 普通に見れて、プラットフォーム共通の見栄えってのは重要でしょう。 Metalは、お世辞にも見栄えがいいとはいえなかったから・・・・(派手だけど)
560 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 19:25:21 ] 見た目のこと言い出すと宗教戦争になりそう。
561 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 19:26:24 ] SynthってXMLと画像をjarに詰めて配布するの? jarをインデックス付き無圧縮で配布すれば多少早いかもね。 もしくはSynthをコンパイル可能にするとか。
562 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 19:26:41 ] ぶっちゃけSystemLAFがデフォになってくれるのが一番いいかも NetBeansもそれでシェアを一気に伸ばしたし
563 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:07:13 ] 見た目なんて飾りです。えらい人にはそれが分からんのです。 ていうかクロスプラットフォームの実現性としてはjavaLAFがデフォの方が良いけど、 ユーザビリティが落ちるので天秤ってところか・・・。
564 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:40:36 ] LAFを変更したらレイアウトが微妙に崩れてデザインが台無しとかけっこうある。 部品をカスタマイズしてたりするとなおさら。 で、いくつもLAFがインストールされていても、事実上使えないものが出てくる。 そんなLaFしか実現できないのなら、LAF一つで統一してほしいところだな。
565 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 21:25:54 ] >>564 推奨サイズを使って設定してくれるならずれることはほとんどないはずだけど? 今まで大量にSwingアプリ作ったがLAFかえて問題が出る場合ってのはほとんどないよ。 むしろWinネイティブより楽。
566 名前:デフォルトの名無しさん [2007/12/12(水) 21:35:29 ] >>565 推奨サイズって何? カスタムコンポーネントなしのアプリしか作ったことないんじゃないの?
567 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 21:45:28 ] 本気で言ってんのかコイツ
568 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 22:04:47 ] Swing使いが推奨サイズを知らないとは思えんが・・・・
569 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 22:18:38 ] きっと日本語ではなく preferredSize といえば通じるよっ。
570 名前:デフォルトの名無しさん [2007/12/12(水) 22:47:58 ] 生憎日本の会社で働いたことがないので。日本語のAPI docもたまに 見るけど気付かなかったよ。どこかに便利なサイズの表でもあるのかと思った。
571 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 23:23:41 ] 今日もJava釣り君元気だな
572 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 00:25:17 ] >>570 つまり、preferredSizeを和訳できなかったわけだな。中国の会社の人?
573 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 02:30:49 ] インドだろう常考
574 名前:564 mailto:sage [2007/12/13(木) 02:58:31 ] >>564 もちろんそうしてるよ。JDK1.0のころからある普通のレイアウトマネージャを組み合わせてレイアウトしてる。 そりゃテキストエディタのようにツールバーとメニュー、オプション選択とOK/NOボタンしかないとか、 その程度なら問題ないだろうけど、複雑になるとたいがい問題でると思うけどな。 ただしまったく使えなくなるほど、ひどいことになるのは少ない。 レイアウトデザインには急所があってさ、絶対はずせないところってのがいくつかある。 そこがずれると一気にしまりがなくなってださくなるとこが。 そういうとこが狂うと、やめてよっていいたくなる。 LAFに応じて位置とサイズを調整するようなコードを書くとか、無難なデザインを適用する事はできると思う。 でもそういうのってなんか違うと思うんだよね。
575 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 03:27:33 ] ボケたか自演か?
576 名前:564 mailto:sage [2007/12/13(木) 03:52:46 ] >>575 >>565-573 までは俺じゃないから。 罵りあって遊びたいならマ板にでも逝けよ。
577 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 08:46:37 ] 推奨サイズを知らないバカと自分のレスにレス付けてるボケがいるスレはここですか?
578 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 11:04:12 ] レイアウトが崩れる例ってのを、出してみてよ 簡単なのでいいから
579 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 11:45:14 ] 複雑になると問題が出るっていってるのに簡単なのでいいからっていうツッコミ、気の毒だな。
580 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 11:54:56 ] >>578 21 * 21 のicon,pressedIcon,rolloverIconの三枚のボタン画像を作りJButtonのプロパティに指定。 perferredSize=21,21 margin=0,0,0,0 focusPainted = false contentAreaPainted = false borderPainted = false LaFでMotif,Windows,Metalの三通りを試してみてよ。Motifはアウトだから。 画像ボタンをつくればいいだけなら解決策はあるけど、しかし、 GridBagLayoutで次のようにJTextFieldが等間隔でならんでいて、 その一つにこの画像ボタンがあるとする。 [TextField] [TextField][B] ←画像ボタン [TextField] [TextField] アウトだよね。レイアウトは崩れる。デザインを修正することで回避する策もあるし、 使えないってことはないが、LaFを切り替えると振る舞いが違うのは困る。
581 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 12:04:33 ] >>578 もう一つ例をあげると、Motifのメニュー操作法と、Windows,Metalの操作法は異なる。 これは使ってみればすぐに分かると思うけど。 それから、JSliderBarの操作法ね。Metalと残りのWindows,Motifでは振る舞いが異なる。 これもわかりにくいかもしれないけど使ってみれば分かると思う。 LaFは見かけ上の外観を変更するだけのはずなのに、操作体系にまで干渉したらまずいと思うんだけど。
582 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 12:57:22 ] ルック&フィールのフィールって何か分かってるか?
583 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 13:05:42 ] >>581 LaFはLook & Feelの略だよ。外見を変更するだけじゃない。
584 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 13:14:14 ] >>580 すまん、やってみたが、レイアウトは崩れないっぽいんだが… なんか俺間違ってるのかも試練から どこがどう崩れたのか教えて欲しい
585 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 13:31:58 ] >>582 単純思考のくせに傲慢そうなやつだな。w feelは手触りだから、操作体系が異なるのは仕様のうちだとでもいいたいのか?w しかしそれでは良くない場合のほうが多いんだよな。 アプリに無意味な混乱を与えるくらいならLAFをユーザに選択させないほうが俺は良いと思うけどね。 ボタンが数個しかついてないようなアプリならまーすきにすればだけど。
586 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 13:36:10 ] >>584 画像はいらないから、コードをコピペしてみて。 環境の違いもあるだろうし。
587 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 13:37:38 ] コードつーかソースね
588 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 13:48:37 ] Look and Feelのfeelには気分や雰囲気の意味もあって、必ずしも操作法を指すともいえないけどな。
589 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 14:12:06 ] >>586 public class Test extends JFrame { static public void main(String args[]){ new Test().createUI("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } private void createUI(String laf){ try { UIManager.setLookAndFeel(laf); } catch (Exception e) { } this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); GridBagLayout gbl = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); JPanel p = new JPanel(gbl); c.weightx = c.weighty = 1; JTextField t0 = new JTextField(10); c.gridx = c.gridy = 0; gbl.setConstraints(t0, c); p.add(t0); JTextField t1 = new JTextField(10); c.gridy = 1; gbl.setConstraints(t1, c); p.add(t1);
590 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 14:12:36 ] JButton b = new JButton(new ImageIcon("./normal.gif")); b.setPreferredSize(new Dimension(21,21)); b.setMargin(new Insets(0,0,0,0)); b.setFocusPainted(false); b.setContentAreaFilled(false); b.setBorderPainted(false); b.setRolloverIcon(new ImageIcon("./over.gif")); b.setPressedIcon(new ImageIcon("./pressed.gif")); c.gridx = 1; gbl.setConstraints(b, c); p.add(b); JTextField t2 = new JTextField(10); c.gridx = 0; c.gridy = 2; gbl.setConstraints(t2, c); p.add(t2); JTextField t3 = new JTextField(10); c.gridy = 3; gbl.setConstraints(t3, c); p.add(t3); getContentPane().add(p); this.pack(); this.setVisible(true); } }
591 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 14:42:18 ] >>589-590 さんきゅー。やってみた。 ただし画像を取得する部分は、getResource()を使う方法に修正させてもらった。 こっちの環境でMotifを指定してみたら、画像ボタンは正常表示されなかった。 new Test().createUI("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); 具体的には、3 * 3くらいのサイズで表示されてしまう。 MetalやWindowsのLAFでは、このような状態にはならない。 ところであなたの環境はなに? 3*3の状態で表示されたときは、当たり前ながらレイアウトは崩れない。 ボタンサイズがJTextFieldのheightより小さいから。 で、こっちの環境で、Motifでもボタンを正しく表示させようとしたときは、preferredSizeを指定しなければ良いらしい。 しかしボタンは表示されるが、デフォルトのボタンサイズが27*26くらいに設定されてしまう。 するとJTextFieldのheightを越えてしまうため、ボタンのある行は上下に隙間が空いてしまう。
592 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 14:56:01 ] あ、ちなみにこっちの環境はWin2KのJDK1.6.0_03
593 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 15:04:42 ] いつまで続くのこれ?
594 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 16:03:04 ] b.setBorder(null); でどうよ?
595 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 16:32:49 ] >>594 その手があったかw
596 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 17:18:47 ] ボタンに限ったことじゃないだろうに・・・
597 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:13:03 ] たまたまMotif用の回避策があっただけのことでしょ。w LAF別に癖があって共通の振る舞いをしないのはかわらない。
598 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:50:38 ] どう見てもコンポーネントの表示を制御し切れてないヘタレというだけで レイアウト云々は関係ないと思うのだが
599 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 20:05:15 ] JButtonとかはサイズが指定してあると、Metal→Motifに変えたときにほんと崩れるよね。 普通にテキスト指定してJButton作っただけじゃ、OKとキャンセルボタンのサイズが違いすぎるから キャンセルボタンにあわせるようにしてるんだけど、Motifはおかしいよ・・・
600 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 20:58:53 ] まだ続くの?
601 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:08:14 ] Swingの話題だから別にいつまでも続いてもいいだろ
602 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:25:37 ] そういやMotifだとマウスホイールも効かないよな。 そんな中途半端なのいれなきゃいいのに。
603 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:28:15 ] SystemLAFならLinuxとかでもWin並みのFeelが得られるの? Win, Mac以外はLAFは何でもいいと思ってるのでお勧め教えて。
604 名前:デフォルトの名無しさん [2007/12/13(木) 21:35:08 ] >>598 で結論出たじゃん。
605 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:36:12 ] Linux では gtk使えるなら gtkじゃね?
606 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:39:41 ] >>598 ことLAFに関しては>>597 でFAだと思うが。 切り替えて不都合がでるLAFがある時点で不完全なシステムだな。
607 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:40:05 ] 正直Javaアプリ作ってもWinでしか使わないんだよね。 APIのバランスがいいし、今更.NET覚えるのはしんどいって理由で。 *nixやmacの挙動を調べるにはどうしたらいいんだろう。 LinuxならcoLinuxとか?
608 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:45:53 ] それ用にマシン用意するか、もってる人にテストを頼む以外なんかある?
609 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:46:51 ] Macごときに会社が金出すわけ無いじゃん。jk。
610 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:50:45 ] アップルに俺様の会社がMacでも動くアプリを作ってやったから、テスト用にMacを献上したまえといってみるとか。
611 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:54:18 ] Macごときに金ださんという会社は、JavaだろうがMacで動かす必要はないってことじゃね?
612 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 22:01:26 ] Macごときで動作しないなんてレポートが来られても困るし、 JavaクライアントでもMacは未対応ってことにしとけばいいか
613 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 22:22:42 ] そこはアップルの実装の問題だが、どうにも屑すぎる。 特に文字列処理。これはjavaに限った事じゃないけど。
614 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 22:34:26 ] たとえば文字列処理でどんなことが起きるの?
615 名前:デフォルトの名無しさん [2007/12/13(木) 22:45:06 ] ワイド文字いい加減とか
616 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 23:38:24 ] 仕事なら必要な範囲のアーキテクチャだけ動作保証するだけだし 趣味ならそもそも動作保証なんてしないから問題ないだろ…
617 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 02:37:15 ] 趣味で作っても、友達がMac持ってることあるから問題あるだろ。
618 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 02:41:59 ] aho
619 名前:デフォルトの名無しさん [2007/12/14(金) 15:36:51 ] 例えば、undo,redo(WindowsだとCtrl+z,Ctrl+y)とかのデフォルトの キーバインディングがOS毎に違ったりする場合、 LAF変更毎にjavax.swing.InputMapとかも変更すべきでしょうか? javax.swing.plaf配下のUI委譲を見ても、そんなコードは見あたりませんが。
620 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 18:21:15 ] >>614 Unicode正規化まわりじゃないの?
621 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 12:54:25 ] LAF変えるたびに、それ固有の修正を施すなんてかなり馬鹿らしい話 これからいくらでも増えてくるだろうし
622 名前:デフォルトの名無しさん [2007/12/15(土) 16:35:41 ] MacのredoのショートカットキーがWindowsと異なる (Ctrl+Shift+zだったかな)ことを最近知って、 さらに「Motifだとマウスホイールも効かないよな」っていうのを見て、 ふと疑問に思った。 マルチプラットフォーム対応のソフト作ってる場合って、 やっぱり、そんなことも考慮する必要があるんだろうな。 LAF毎に固有の修正を施すなんてかなり馬鹿らしい話っていうのは同感なんですが。 ふだん当たり前にできてることができないって結構ストレスになるから。
623 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 16:44:56 ] キー設定とかは外部設定に追い出しておいてプラットフォームごとに 切り替わるようにするくらいは必須だろうねぇ。 うっかりMac環境でメニューバーにまでショートカット付けて怒られた俺。 (個別のメニューには付けてもいいが、根っこのバー上には付かないのがMac)
624 名前:デフォルトの名無しさん [2007/12/15(土) 17:27:21 ] >キー設定とかは外部設定に追い出しておいてプラットフォームごとに >切り替わるようにするくらいは必須だろうねぇ。 やっぱり、サーバーサイドより面倒ですね。 >うっかりMac環境でメニューバーにまでショートカット付けて怒られた俺。 怒られるほどのことではない。 というか、個人的には、そのほうが便利になってる気さえしますが。 余計な文字列がデザイン的にウザイってことなんですかね。 よくそういうどーでもいいディテールに拘る人いますし。 特に官公庁に。 >(個別のメニューには付けてもいいが、根っこのバー上には付かないのがMac) へー。Macさわったことないから、全然知らなかった。 エミュレータでも買って、ちょっと弄ってみようかな。
625 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 17:45:03 ] そういえばMacのマウスはシングルボタンが基本だよね。 Winでは右クリでポップアップメニューが出る操作がよくあるけど、あれMacではどうなるの?
626 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 17:57:07 ] ふるーい mac だと ctrl + クリックでやってた記憶が…… ポップアップメニュー出す操作か、だけなら、 java.awt.event.MouseEvent#isPopupTrigger() みればわかるはず。
627 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 17:58:32 ] 何も考えたくなかったらMetalで固定ってことかな。
628 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:14:39 ] macはボタン長押しでコンテキストメニューじゃなかった? 今のmacはマウスホイール付いてた気がする。 小さな玉が・・・。
629 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:22:21 ] シングルボタンの場合は、Ctrl押しながらクリック。 2ボタンマウスを繋いだ場合は普通に右クリックできる。 Mighty Mouseも見た目はシングルだが、右よりの部分を押すと副ボタンと して扱える(デフォルトだと両方主ボタンになってるのはAppleの意地か?)
630 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:24:04 ] ノート型のMacだと、指を2本パッドに置いてクリックすると右クリック相当 だな。指2本でパッド上を滑らせるとスクロールとかも面白い。
631 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:28:50 ] MacのOS9時代まで使ってたけど、ctrl + クリックだったよ〜 まぁどうでもいいか。
632 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:41:56 ] 理想的にはLaF毎に諸々切り替えるべきなんだけど… 結局どこまでサポート範囲にするかってだけだとな気がする. ぶっちゃけMotifとかは切り捨てても誰も困らないと思うぞ
633 名前:デフォルトの名無しさん [2007/12/15(土) 18:45:57 ] Synthについてなんですが、SwingのJComponentの派生クラスの ちょっとした動作変更のHackのサンプルコードとかで、 よくMetalほげUI(MetalComboBoxUIとか)を継承したクラスを作って、 JComponent#setUI(作成したMetalほげUIのサブクラス)とかやってますよね。 ああいうのって、その後Synthでスキンを変更しようと思った場合、 動作するんですか? Synth導入時はjavax.swing.plaf.synth配下のクラスを 使用しなければならないのかなと思っていて、 Synthパッケージのクラスの継承関係がBasicComponentUIのサブクラスだから、 MetalUIで作ったクラスは使用できないのかと漠然と考えているんですが。
634 名前:デフォルトの名無しさん [2007/12/15(土) 18:52:14 ] >ぶっちゃけMotifとかは切り捨てても誰も困らないと思うぞ 同感。Motifは単にSunの意地。 クライアントLinuxも趣味にはいいけど、 個人的にはサポートしたくない。 でも、数ヶ月前に21:00台のNHKのニュースで出てた、 どこか忘れたけど、ITじゃない大手企業の普通の職場で SunのワークステーションでXが写ってた。 マジで使ってんの?って思ったけど。
635 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:19:05 ] ソラリスのMotifはそれなりにさまになってる感じもあるけど Winでみるとダサイ・・・ってまったく同じMotifというわけでもなくMotif風というべきか。
636 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:25:33 ] MacでCtrl+クリックで右クリということは、WinでCtrl+左クリに機能を割り当てていると、 Macでは困ったことになる・・・のだろうな・・・
637 名前:デフォルトの名無しさん [2007/12/15(土) 19:28:20 ] 実機が手元にないから、あれだけど。 SolarisのMotifは、Sunのハードの色のグレーと紫と一緒になって、 初めて調和する感じがする。 だから、他のハードで単体でMotifのLAFだけを見るとかっこ悪さしか感じない。
638 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:43:52 ] LAFというか視覚デザイン系は深入りすると底なし沼だからなぁ・・・・ 3Dソフトも今はなき?シリコングラフィックのあの癖のある筐体でみるのと、 DOS/Vの筐体でみるのではやっぱ違ってみえるよねw
639 名前:デフォルトの名無しさん [2007/12/15(土) 19:44:18 ] いろいろ考えるとInputMapはFactoryクラスとかで一括管理すべきなんだろうなと思ってきた。
640 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:44:55 ] そういえばJTableはCtrl+左クリで複数選択機能があったはずだけど、Macだとどうなるんだっけ。
641 名前:デフォルトの名無しさん [2007/12/15(土) 19:49:16 ] >シリコングラフィックのあの癖のある筐体でみるのと、 >DOS/Vの筐体でみるのではやっぱ違ってみえるよねw それはありますねー。 Sunのマシンにsunの4つつながったロゴがないだけでも、 Motifは別物に見えそうだし。 データセンターでMacのハードやUIがあったりしたら、 違和感ありそうだし。。。
642 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 23:39:08 ] >>619 質問 ↓のコードでもmacとwindowsで兼用できなかったの?? KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
643 名前:デフォルトの名無しさん [2007/12/16(日) 02:36:30 ] 619です。 >質問 ↓のコードでもmacとwindowsで兼用できなかったの?? >KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); Toolkit#getMenuShortcutKeyMask()メソッドは初めて知りました。 ありがとうございます。 興味本位で聞いただけです。 実際にやってみていない。というかmac環境がないので。試せません。。 tinyurl.com/3cbuj2 のあたりをざっとみると、 Ctrl+Cとかコピペ、Ctrl+F(検索),Ctrl+S|Oあたりは同じようですが。 Ctrl+Y(やり直し(Windows))の記載が見あたりません。 ちょっと前に、どこかでWindowsのCtrl+YはmacでCtrl+Shift+Zと見たんですが、 記憶違いかガセだったのでしょうか。 でも、macにはUndoの反対のキーバインドがないとは思えませんけど。 でも仮にmacにCtrl+Shift+Zがあるとすると、 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()だと、 引数と戻り値的に適切な値が取得できるとは考えられないですが。 それとgetMenuShortcutKeyMaskで適切な値が取得できるのであれば、 UIクラスのinstallUI()(すくなくともJTextComponentのサブクラスのUI)では、 InputMapにデフォルトで登録しておいて欲しいところです。 macをさわれる人にgetMenuShortcutKeyMask()の結果を聞きたいです。 いつになるか分かりませんが、私がmacを実行できる機会があれば、 結果を報告します。
644 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 03:30:19 ] Mac OS X 10.5.1 です。 % uname -a Darwin dorado.local 9.1.0 Darwin Kernel Version 9.1.0: Wed Oct 31 17:46:22 PDT 2007; root:xnu-1228.0.2~1/RELEASE_I386 i386 i386 MacBook2,1 Darwin % java -version java version "1.5.0_13" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237) Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing) System.out.println(Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); System.out.println(Event.ALT_MASK); System.out.println(Event.CTRL_MASK); System.out.println(Event.META_MASK); System.out.println(Event.SHIFT_MASK); 結果は 4 8 2 4 1 Metaキーってことですかね。
645 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 03:36:27 ] Mac OS XではCommand+Cとかになるからね。 getMenuShortcutKeyMaskの戻り値はEvent.META_MASKになる。 CommandキーはWindowsだとWindowsキー。
646 名前:デフォルトの名無しさん [2007/12/16(日) 17:50:37 ] 619です。 macの結果を教えてくださりありがとうございます。 macのショートカットキー一覧を見ると 「コマンド + C →「編集」メニュー コピー」と記載されているので、 つまり、getMenuShortcutKeyMask()を使用できそうということでしょうか。 ところで、macにはWindowsでいう「やり直し(Ctrl+Y)」 (元に戻すのを戻す?)は、ないのでしょうか。 私の言っている「Ctrl+Shift+Z」ショートカットキーは誤りですか? たびたびすみませんが、時間がありましたら教えてください。
647 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 18:11:03 ] HIG(Human Interface Guidelines) developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGIntro/chapter_1_section_1.html Keyboard Shortcuts developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGUserInput/chapter_11_section_3.html#//apple_ref/doc/uid/TP30000361-CHDIGFBH テキストエディット(メモ帳・ワードパッド) GarageBand(作曲) Pages(ワープロ) Keynote(プレゼン) Numbers(スプレッドシート) BathyScaphe(2ちゃんねるブラウザ) で見たら、「やり直す」はCommand+Shift+Zだった。
648 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 18:17:26 ] ちょっと古いけど ttp://developer.apple.com/jp/technotes/tn2042.html やり直しはShift+Command+Zだね。
649 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 18:36:01 ] うお、Leopardでは「取り消す(cmd+Z)」と「やり直す(shift+cmd+z)」に変わったんだね。 プレビューではファイルメニューに、最後に保存した状態に戻す「元に戻す」があったりする。
650 名前:デフォルトの名無しさん [2007/12/16(日) 20:20:32 ] >647さん >648さん >649さん ありがとうございます。 developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGUserInput/chapter_11_section_3.html#//apple_ref/doc/uid/TP30000361-CHDIGFBH のTable 7-5を見ると(Redo(やり直し))Command-Shift-Zってことですね。 頂いた情報を総合すると、getMenuShortcutKeyMask()の戻り値が Event.META_MASK(Commandキー)である。 やり直しはCommand-Shift-Zということですので、 コピーのキーバインディングに KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); は、良いけど undo,redoに KeyStroke.getKeyStroke(KeyEvent.VK_Y, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); KeyStroke.getKeyStroke(KeyEvent.VK_Z, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); はNGということですね。 ということで、やはりプラットフォームごとにInputMapを用意する 必要があるということですね。 実装する予定はありませんが、勉強になりました。 面白かったです。
651 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:00:00 ] Swing標準のキーバインドってなかったっけ? あったらそれで良いと思う。 あれはLAFで決まるんだっけ?
652 名前:デフォルトの名無しさん [2007/12/16(日) 21:36:45 ] 619です。 >Swing標準のキーバインドってなかったっけ? swing.plaf配下のUI委譲のInputMap登録コードでは、 JListでの上下移動、JComboBox等の選択等の細かいものを除けば、 基本的に選択(JTableのセル選択,JTextComponentのテキスト選択)、 移動系(セルの選択位置移動、キャレットの移動)の キーバインドしか登録されないのです。 undo,redoをはじめ、Ctrl+S,Ctrl+O等の、機能が実装されていないものに 関しては仕方がないにしても、JTable,JTextComponentでは、 printを実装しているにも関わらず、Ctrl+Pも登録されません。 ですから、標準のキーバインドはないのでは?と思っています。 まぁ、個別のOSのアプリケーションを熟知してませんが、 Gridやテキストエディタでの選択、移動のショートカットキーは、 各OSともほぼ共通なため、そのあたりは登録できるものの、 undo,redo等は、上記のような例があり、標準として登 録できないという事情があるのかもしれません。 でもSwing標準のキーバインドなんてあったとしても、 個人的には、ショートカットキーをバリバリ使う人にはストレスフルで 使いたくないし覚えたくないだろうと思いますが。 ちなみにLAF毎に、キーバインドを登録するようなコードが それぞれのUIクラスのソースに無いのは先述のとおりです。
653 名前:デフォルトの名無しさん [2007/12/16(日) 21:48:11 ] >>633
654 名前:_ [2007/12/19(水) 14:53:45 ] combodata = {"a", "b", "c","d"}; ・ ・ ・ private void Combo1ActionPerformed(java.awt.event.ActionEvent evt) { if (Combo1.getSelectedItem().equals("a")||Combo1.getSelectedItem().equals("b")){ Combo2.setEnabled(true); } else{ Combo2.setEnabled(false); } } Combo1でaかbが選択された場合はCombo2が有効で Combo2でcかdが選択された場合はCombo2が無効になるようにしたいのですが 上のやり方だとaを選ぶとCombo2は有効になるんですがaを選んだ後にcに変更すると Combo2は無効にならずに有効のままになってしまいます. 同じようにcを選ぶと無効になるんですがその後にaを選ぶと無効のままになってしまいます. これを直す方法を教えていただけないでしょうか?お願いします.
655 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 15:17:46 ] いくつか突っ込みどころがあるから最初からやり直した方が早い。
656 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 03:59:56 ] 最初からやり直すというか、紙の上で状態遷移を考えた方がいい。 自分の言ってる矛盾に気付けるから。
657 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 08:13:43 ] >Combo1でaかbが選択された場合はCombo2が有効で >Combo2でcかdが選択された場合はCombo2が無効になるようにしたいのですが 下のCombo2はCombo1の間違えだよね?
658 名前:デフォルトの名無しさん [2007/12/20(木) 08:46:01 ] Combo1の間違えでした. Combo1の状態に応じてCombo2の有効,無効が変化する 物をつくりたいんですが教えていただけないでしょうか
659 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 09:23:02 ] combo2.setVisible(false); これでは駄目なの?
660 名前:_ [2007/12/20(木) 11:53:34 ] 上のやり方だとaを選ぶとCombo2は有効になるんですがaを選んだ後にcに変更すると Combo2は無効にならずに有効のままになってしまいます. 同じようにcを選ぶと無効になるんですがその後にaを選ぶと無効のままになってしまいます. 最初の選択では上手くいくんですが選択を変更すると変化してくれないんです。
661 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 12:45:54 ] まず、そもそもCombo1ActionPerformedメソッドが実行されてるのかどうかを確かめるんだ。 実行されてるなら、そのときCombo1.getSelectedItem()の値が実際は何になっているのかを確かめるんだ。
662 名前:_ [2007/12/20(木) 13:07:41 ] Combo1でaを選ぶとCombo1ActionPerformedメソッドが実行されてCombo1.getSelectedItem()の値は aになっているんですがその後にCombo1でcを選んでもCombo1ActionPerformedメソッドが実行されてません 続けて選んだ場合にもCombo1ActionPerformedメソッドが実行されるようにするにはどうすればよいのでしょうか?
663 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 13:44:37 ] >>662 実行されてないのをSystem.out.println文で確認した?
664 名前:_ [2007/12/20(木) 16:00:32 ] 確認しました コンボボックスを変更してもActionPerformedにいってくれないようです
665 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:13:44 ] ActionListenerをやめて、ListDataListenerでComboBoxModelの変更を捕らえてみたらどう
666 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 19:48:40 ] おい、おまいら。 SwingApplicationFramework使ってますか?
667 名前:デフォルトの名無しさん [2007/12/20(木) 19:57:08 ] 使ってません。 あれって便利なの?
668 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 20:00:15 ] 使ってみようと、Netbeansでプロジェクトを作った。 でも、どうするものかいまいちピンときていない。 Actionの管理をしてくれるのはいいんだけどちょっと縛りがきついなぁと感じた。 IDE無しでは複雑過ぎる気がする。
669 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 20:57:09 ] IDEなしでの比較だとアクションイベントを書くのはフレームワーク使ったほうが楽 アプリケーションの起動時と終了時に処理が書けるようになるとかはまぁあればあったでいいという程度 ただアノテーションつかってそれの名称を文字列で記述ってのは実行時エラーの可能性が増えるから 静的言語としてはどうかなぁというのが多い Web方面のフレームワークもだけどね Springとか最新版ですら1.4とか過去の互換性のために文字列を使うことが多すぎ enumきっちりつかってくれよと思うことは多いかな
670 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 00:39:19 ] IDEなしということはGUIエディタも使わずにSwingのアプリを作るってこと? 本で紹介するサンプルコードならともかく、本格的なもの作るなら論外だと思えるけど。
671 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 00:42:07 ] 別に普通に行われてることですが
672 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 00:42:42 ] そりゃお気の毒
673 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 00:47:11 ] 本格的なものを作るならフォームエディタなんて使わないと思うが。
674 名前:デフォルトの名無しさん [2007/12/21(金) 00:58:40 ] >>670 逆じゃないの?
675 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 01:00:16 ] IDEサポートなしと読めばいいじゃない。
676 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 01:02:26 ] >>673-674 はいはいwノシ
677 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 01:04:17 ] 最近Javaから離れて久しいが、GroupLayoutはツールなしで使うのは 辛いと聞いたことがあるな。
678 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 07:36:04 ] 670にとって本格的なものってのは テキストフィールド2つにボタンひとつ。
679 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 08:34:45 ] IDEなしじゃ何もできないって人は、素のHTMLをいじれない人と「使えない」って点で似てる
680 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 11:03:39 ] ここでは何もできない人の話はしてないね。
681 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 11:05:03 ] >>678 の煽りの程度の低さに絶望した もっとまともな指摘があるのかと思った。
682 名前:デフォルトの名無しさん [2007/12/21(金) 11:10:10 ] 仕事でレイアウトマネージャって使っています?
683 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 11:12:54 ] 使うよ
684 名前:デフォルトの名無しさん [2007/12/21(金) 11:45:21 ] やっぱ普通使うよね 絶対座標ばっかだ・・・
685 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 12:29:53 ] >>679 効率よく出来るかどうかだから。 仕事ならDreamWeaverとか使わないでHTML生成してるアホはいらんね。 ペイントあればフォトショップ等いらないでしょ?とか テキストエディタでPDF作れるでしょ?といってるのとかわらんな。 >>684 せめてNetBeansに付属の伝統のAbsoluteLayout使ってね。 Nullはだめだぞ。
686 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 12:52:28 ] 親切な香具師だな。 土を手で耕したいという土民なんかほっとけばいいのに。w
687 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 12:57:29 ] なんかバカがいるな。
688 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 13:33:04 ] 仕事ではGridBagLayoutが基本かな・・・ NetbeansのGridBagLayoutのエディタが無いと仕事にならんね・・・・ もうちょっと進化してくれても恨まないけど・・・・ 複数のレイアウトマネージャを組み合わせて、 がちっと作り込むのは実はむしろ趣味のほうだったりする。 それでも、GridBag,Groupを手で書くのは調整くらいはできても、まぁ正直無理。
689 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 13:37:50 ] レイアウトマネージャの組み合わせはわりと普通に使う ただ、GropuLayoutがでてしまったおかげでほとんどそれ1本でいけるようになっちまった
690 名前:デフォルトの名無しさん [2007/12/21(金) 13:47:57 ] GropuLayoutはいいよね。使いたい。 でもそのためにはJavaのバージョンを6にしないとだめなんだよなー まだ1.4だしなー 先は長いな・・・
691 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 13:50:37 ] GropuLayout
692 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 13:58:22 ] パッケージが違っていいのなら1.4から使えた希ガス。 5.0からだったかな? 来年登場予定のJavaSE7がでると1.4は保守されなくなるから。 保守契約結んでいるなら5.0以上でも動くようにしていったほうがいいね。
693 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 16:55:49 ] 1.4はとっくにEOL。jdk7が出てから死ぬのは1.4.2
694 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:39:20 ] GroupLayoutが出たときにEclipseからNetBeansに乗り換えようかなと考えたけど GroupLayoutが、考え方が非常に明快な上に 頭で考えたことを素直に反映できる優秀なレイアウトだったので、やめた
695 名前:デフォルトの名無しさん [2007/12/21(金) 19:40:22 ] なんじゃそりゃ
696 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:45:29 ] 難読化
697 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:50:41 ] IDEなしじゃGUIも扱えない奴ってどうなん? JTableとかテキストフィールドで再現してそう
698 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:56:51 ] それはないだろ
699 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 20:16:43 ] 無知の自覚がない無知は無知のまま放置がベスト
700 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 21:17:20 ] >>670 GUIエディタは便利だけど、業務アプリでそういうのでサックリ作っちゃうと 後々火を吹くから俺のPjでは使わない。 >>685 イタイな
701 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 21:46:14 ] GroupLayoutってさ、vGroupとかhGroupとか使ってコンポーネントのレイアウトを決めるわけだけど、 なんか冗長な記述だよな。これは仕方ないのか?
702 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 21:46:20 ] >>700 GUIに頼らずにどこまでできるかで、決定的な差が出る場面ってあるからね。 このスレではアマチュアが多いのか、あまり良く分かってない人が多いようだけど。
703 名前:デフォルトの名無しさん [2007/12/21(金) 22:05:17 ] >>700 えぢたを使って火を噴くって例えばどんなの?
704 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 22:21:03 ] ロジックを画面実装で埋め込ませなければ大丈夫じゃないか? ウチではハンドラをあとからインジェクションする仕組みで使ってるが・・・
705 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 22:24:13 ] >>704 確かにそうだね。 完全にGUI担当者がデザイナと化してくれれば問題はないよね。 あとは、GUI担当者が皆一様の作法を身につけてくれることが重要かな。 そのためにもGUIデザインのためのフレームワークみたいなものは欲しいね。
706 名前:デフォルトの名無しさん [2007/12/21(金) 22:27:10 ] SwingApplicationFramework
707 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 23:59:58 ] デザイン関係ない
708 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 06:26:42 ] GUIエディタ使って火噴くって、どんだけ低レベルなんだよ
709 名前:デフォルトの名無しさん [2007/12/22(土) 07:39:23 ] >>708 おまえ程低くないと思うよ。
710 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 08:06:29 ] 煽りあいしかできないのか。ちょっとは期待してたんだが。
711 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 12:13:06 ] >>706 それはどっちかというとGUIアプリの処理手順をフレームワーク化してるよね ちょっとわかりにくいかもだけど、俺がいいたいのは、「GUIデザイン」部分のフレームワーク。 そういうのがあったらいいなぁなんてオモタわけ。 うーん伝わらないか。。。
712 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 12:45:00 ] >>700 をはじめとして釣りがまざってるので注意
713 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 15:44:41 ] IDEがないと何も出来ません><ってやつが大勢を得る事なんてないから黙ってようね
714 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:01:58 ] 原因不明のバグが出たらとりあえず全部調べるんじゃね
715 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:22:38 ] IDEていうかGUIビルダみたいなRADのこと言ってんだろ湧いて来る厨は。
716 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:26:24 ] せいぜいメインウィンドウのメニューや、そこから辿れる設定ダイアログまでだな。 3ペインアプリとかは手書きじゃないと満足いくものはできないだろ
717 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:32:42 ] 3ペインなら今手書きで作ってるが・・・。
718 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 18:37:38 ] GUIエディタ使うってのは、業務アプリの画面とかダイアログだろ。
719 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 18:39:31 ] IDEじゃ何もできません><ってやつは使い物にならんよなぁ。 ツール使えばすぐできることを、なんだかんだいいながら手書きでやるんだけど、無駄に時間かかるし古い機能しか使ってなかったり。
720 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 18:46:41 ] >>718 なるほどね。業務アプリって画面びっしりコントロールをつけるからなw
721 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 19:00:30 ] >>719 まともなコードが書けるかどうかが重要であって、 IDEの使用経験の有無は大した問題じゃない気がする IDE使ったことない奴には使い方を教えてやるだけで済むが、 プログラミングのセンスがない奴はいくら教えてもどうにもならん
722 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 19:10:38 ] もういいからVB使っとけよ。
723 名前:デフォルトの名無しさん [2007/12/22(土) 19:11:51 ] VBにSwingってあるの?
724 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 19:15:21 ] >>721 でもIDEの慣れの差はやはり大きい NetBeansを長年使ってきた人はさくさくつくれるけど、 Eclipseしか触ってこなかった人は開発効率が悪い 1,2年たつと違うんだろうけどね
725 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 19:17:27 ] >>724 結局それがいいたかっただけか。 マジレスしなくてよかった。
726 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 19:19:44 ] >>725 俺今日はじめて書きこんだんけど
727 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 20:00:38 ] 業務アプリだと、こんな感じで入力項目があるからな。 www.epson.jp/products/oen/products/kyuyo_lite/img/img_kyuuyo02.gif ツール使わずにやるのは非効率極まりない。
728 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 20:45:36 ] >>727 俺が仕事で作ってる業務アプリは、こんなもんじゃねーぞ・・・ タブで分かれて細かい設定項目が山のようにある。 あんなの手書きしてたら気が狂うわ。
729 名前:デフォルトの名無しさん [2007/12/22(土) 20:48:02 ] 普通に100個ぐらいコンポーネントあるよね
730 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 21:12:10 ] まだ言い合ってるのか。お前らも飽きないな
731 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 21:22:46 ] 業務アプリじゃJTableやJTreeはめったに登場しないしな そういう人らは使えばいいんじゃない?
732 名前:デフォルトの名無しさん [2007/12/22(土) 21:24:25 ] JTableは使用しまくりだよ
733 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 21:32:13 ] >>731 JTable使いまくりだけど・・・ 検索結果を大量に表示したりせんの? まあ、めったにJTreeは使わんけど。
734 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 22:44:43 ] テーブルがでてこないアプリってあるか? ツリーはあんまりないけど
735 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 22:53:20 ] 個人開発だけどツリーの方がよく使う。JTableはスプレッドシートだから業務アプリでよく使うんじゃない?
736 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 01:19:09 ] アプリ毎で性格違うんだから、自分の携わったプロジェクトの経験だけあげてもしかたない。 でも、部品の利用のされ方ってのは興味深いな。 アプリで使われてる場面がどれくらいあるのか、 JTableなんかのレンダラとかもどうされてるか気になる。 デフォルトで行ける場面ってどれくらいあるのかとか。 Swingのデフォルト部品って、あと一味足りないみたいなとこあるからなぁ。 というか、特にJTableに感じるんだけど。 (表の真ん中にスクロールバー付けたいなぁ、とか)
737 名前: mailto:sage [2007/12/23(日) 03:03:49 ] Swingでキャッチされない例外が起きてもプログラムは終了しませんよね。 エクリプスとかで走らせてるとoutputに表示されるけど、コマンドプロンプトから走らせるとキャッチされない例外が起きてるのが分かりません。 これを知るにはどうしたらいいのですか? 検出してログをとるなり、メッセージダイアログを表示するなりしたいんです。
738 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 05:31:30 ] sun.awt.exception.handler で検索汁
739 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 11:06:01 ] throwsして無けりゃなんか表示するとおもう
740 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 11:13:30 ] >>736 > 表の真ん中にスクロールバー付けたいなぁ それは一味も二味も違うだろ w それができるテーブルコントロールなんて他の言語でも見たこと無いけど。 まあ、俺なら二つのテーブルを並べて、スクロールを同期させるかな。
741 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 11:42:12 ] >>738 どうもありがとうございます! >>739 jarにしてダブルクリックで起動したりもするので、windowsだと何も表示されないのです。
742 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 16:28:19 ] >>741 java -jar file.jar と「ファイル名を指定して実行(R)..」すれば 例外は全部コンソールに表示される
743 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 19:40:17 ] というか例外はアプリケーションのどっかの層で拾って ユーザーにGUIで見せて後は処理続けるかどうかは状況次第っていうように組むもんだが。 System.errにテキストコンポーネント突っ込んでやると楽。
744 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 00:02:41 ] >>743 その、「アプリケーションのどっか」にこないから問題っていってるんじゃねぇの? 738で解決するようだけど。
745 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 01:58:17 ] 例外の対応は場所によって個別対応するしかないよ。 問題ない例外なのかそうでないのかは単純に判断できないし。 運用時ならテキストファイルにログを書き出しておいてそこをメールで添付させるように促すとか 画面のスナップショットを自動でとってdesktopに自動でbmp作ってそれを添付させるとか まぁいろんな方法があるわな。
746 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 14:15:13 ] NetBeans6.0ってJTable使うのにほとんどの場合面倒な設定を直書きしなくてよくなったのな。 新機能であまり取り上げられていないけどこれはすごいな。
747 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 14:46:26 ] SwingでPopup形式でJPanelとかJTableとかを表示したいのですが、どう書けばよいでしょうか?
748 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 15:34:33 ] 複雑なロジックの入ったものならポップアップよりダイアログにするほうがいいけど、ポップアップじゃないとダメ? JDialogを普通に使うほうがいい場合もあると思うけど。 JPopupMenuは想定される素の状態だとメニューバーと同じくアクションボタンを並べるものだけど 例によって自由にカスタマイズできるので継承するといいかも。
749 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 15:41:53 ] >>748 JFrameの上に出せるWindowなら何でも良いというくらいの意味だったんですが、Dialogでやろうと思います。 JPopupMenuがカスタマイズできるとは知りませんでした。ありがとうございます。
750 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 00:00:31 ] Swing Application Framework でメニューバーとかツールバーを実装する場合の作法を教えてちょ。
751 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 00:26:58 ] >>750 NetBeansでデスクトップアプリケーションで作ると メインフレームがメニューとか作られるから参考にするとよろし
752 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 00:29:32 ] >>751 サンクス。 いつもEclipseばっかり使ってたもんで、NetBeansには疎いんですが、 機能的には遜色ないですかね? Eclipseでいうところの「呼び出し階層を開く」とかそういうのはありますかね?よく使う機能なので。
753 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 01:25:27 ] 宣言をしてる場所にとんだりする機能? CTRL+クリックでとぶよ キー操作だけだとどこだったかはわすれたけどEclipseと同じキー設定もあったような気がする 乗換えとかじゃなくて参考に出来ればよいと考えるといいかも でも、GUIアプリ開発とWebアプリ開発が目的なら乗り換えるほうが楽だと思う Swing Application Framework対応していて、@Actionとかぜんぶやってくれるよ
754 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 08:37:12 ] >>753 そっちの機能じゃなくて、選択したメソッドがどこから呼び出されているかを一覧する機能。 かなり重宝してる機能なのであったらいいんだけど。
755 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 13:14:07 ] 呼び出し元なら普通に昔からあるけど。
756 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 00:09:33 ] あるオブジェクトをある場所に移動させていきたい時に、 オブジェクトのxとyを少しづつ変化させているんですけど、どうやるのがベターですかね? オブジェクトはいろんな場所に発生するので、 if (x > 行き先X) {
757 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 00:10:11 ] すいません 途中でした。 続き if (x > 行き先X) {
758 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 00:13:28 ] すいません 途中でした。 続き if (x > 行き先X) { x -= 5; } else { x += 5; } if (y > 行き先Y) { y -= 5; } else { y += 5; } こうやってるんですけど、こうするとxかyのどちらかが行き先に到達した場合に、 ぷるぷる震えた感じになっちゃうんですけど、なにかうまい方法ありますかね?
759 名前:デフォルトの名無しさん [2007/12/27(木) 00:13:37 ] それはSwingの問題なのか??
760 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 00:15:21 ] 単に行き先Xや行き先Yが5の倍数じゃないんじゃね?
761 名前:758 mailto:sage [2007/12/27(木) 00:18:36 ] >>760 そうですちょうど倍数じゃないときで、移動距離を1にしたくない場合、 どういうロジックが考えられますか?
762 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 00:34:37 ] >>761 それぐらい、自分で考えろよ・・・・ つかスレ違い。
763 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 00:40:10 ] Math.abs() 絶対値 差が5に満たない場合 差の分だけ移動 既に目的地に到達してたら チェックはしない。 移動距離の5は定数にしようかな 思った事を書いてみた。 俺は寝る、がんばれ。
764 名前:758 mailto:sage [2007/12/27(木) 00:41:06 ] そうですか 表示上の問題だと思ったんでここで聞いたんですが・・・ xflagとyflagを作って、&で到達チェックするとか考えたんですけど、 スマートじゃないんですよね たとえばどんなのが考えられますかね?
765 名前:758 mailto:sage [2007/12/27(木) 00:43:12 ] >>763 ありがとうございます とても参考になりました
766 名前:デフォルトの名無しさん [2007/12/27(木) 00:45:01 ] >どういうロジックが考えられますか? って自分で聞いてるぐらいだからSwingの問題じゃなくてアルゴリズムの問題だろ。
767 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 00:51:43 ] そうですね javaのスレッドで聞いたほうが良かったですね 答えてくれた方ありがとうございました。
768 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:03:08 ] java関係ないし 問題の切り分けに注意しないと間違ったスレでは歓迎されないぞ
769 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:14:11 ] そうですか 初心者スレッドで聞けばよかったですか いえばただの簡単なアルゴリズムの問題なのですが、 ここなら同じようなことをやっている人がいるかなと思ったんで、 ここで聞いたほうが早いかなと思ってしまいました。
770 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:17:26 ] 初心者は初心者らしく初心者スレで聞こうな。 まあ、その前にこの程度のロジックは自分で考えられないと、 なにを作るにしても困ると思うぞ。
771 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:33:38 ] というか普通に高校の物理の問題じゃないかこれ? そこまでのアルゴリズムじゃないけど。
772 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:36:47 ] 物理?! どう見ても小学生の算数レベルだろ。
773 名前:758 mailto:sage [2007/12/27(木) 01:39:19 ] 強引にやろうと思えばできると思うんですが、 スマートにできないんですよね(馬鹿なんで)。 完璧を目指すのはキリがないと思うんですが、 ある程度きれいなコードが知りたいんですよ。 ttp://pc11.2ch.net/test/read.cgi/tech/1197710566/ ここに移動したんで良かったらいいサンプルコードお教えください。
774 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:43:05 ] >>769 >ここで聞いたほうが早いかなと思ってしまいました。 こんなのを自分で考えられないとしたら先は長い気がするが… まぁ地道にがんばれ!
775 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 02:06:16 ] ベーマガとか初心者向き雑誌がないと大変なのかなーとかおもっちまった こういうの当時の小学生は普通に作ってたもんね
776 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 02:18:59 ] HSP使ってる連中も普通に作ってるぞ。 というかゲームにSwing使ってるの?
777 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 02:20:55 ] Java2Dを使うことはあるかもしれないが、Swingはあんまつかわないだろうね ただ、ここAWTと合流したからJava2D等も含むといえば含む 本気でやるならJOGLだろうけど
778 名前:デフォルトの名無しさん [2007/12/27(木) 02:26:13 ] 本当だ!! いつの間にかスレタイにAWTが入ってた!!
779 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 02:32:45 ] JOGLの正式版が出たときプレイアブルな2DデモとGLCanvasに描画するJMFのレンダラを組んだけど いまじゃJOGLはjava2Dとパイプラインが統合されてんだよね。 OpenGLの関数使いたいわけじゃないなら-DオプションでOpenGL使うようにした方が楽かね? それならわざわざ2D描画に3Dtoolkit使う必要ないし。 バグさえ消えれば。
780 名前:デフォルトの名無しさん [2007/12/27(木) 04:23:20 ] javax.swing.timerなんですけど ↓の様にやること多いじゃないですか このタイマーをストップさせることって可能ですか? public void startTimer() { int i = 0; Timer timer = new Timer(20, new ActionListener() { public void actionPerformed(ActionEvent e) { if (i > 100) { return; } i++; }); timer.start(); } いままで↑のような感じでiが100超えたらリターンするようにしてたんですが、 ずっとタイマーは動きっぱなしなんですよね。 timerはiが100を超えたらストップさせたいんですよ。 timer内から自分自身をstopさせることができればいいんですが...
781 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 07:13:18 ] まぁ、とりあえず読みなさい。 java.sun.com/javase/ja/6/docs/ja/api/javax/swing/Timer.html
782 名前:780 mailto:sage [2007/12/27(木) 07:55:23 ] そこも含めていろいろググったんですが... 実際のコーディングを見てください まずメインクラスでクラスAのインスタンスaを10個作る(略 pubilc void run { //メインループ for(int i=0;i<10;i++){ //a[0]からa[9]のxを増やしていき、xが10になったらstartTimer()をplay a[i].x++; if(a[i].x >= 10) { a.startTimer(); } @ } } pubilc class A { int x = 0; int size = 10; public void startTimer() { Timer timer = new Timer(20, new ActionListener() { public void actionPerformed(ActionEvent e) { if (size> 20) { return; } size++; }); timer.start(); } } 実際はa[0]が増分し終わったらa[1]にいったり、同時に動いたりするんですが... @の部分で判定してtimer.stopさせようとしてもすぐストップしてしまうと困るし、 メインループからはtimerがいつ終わるのかわからないのでストップできないんですよね なにか大きな間違いがあるんでしょうか?
783 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 08:37:43 ] Timer#stop()を呼べば止まると分かっているのなら、 後は変数のスコープの問題。 ローカル変数timerをクラスAのインスタンス変数にして、 こんなメソッドを作って public void stopTimer(){ timer.stop(); } これをactionPerformed()内の適切な位置で呼べばいい。 ところでこのサンプルコード、Timerでやってる処理がi++だけなんだが、 これは単純化したサンプルコードなだけだよね? ホントのコードでは、ちゃんとGUIスレッドですべき処理をしてるんだよね?
784 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 08:53:05 ] ああうまくいきました GUIスレッドですべき処理というのがいまいちわかんないんですが、 ある条件でaのエフェクトを起こすみたいな感じなんですよ とにかくこれで寝れます どうもありがとうございました
785 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 10:45:15 ] ボタンのイベント中にタイマーの時間が来たり、その逆も有ったりするって意味じゃね。
786 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 12:26:40 ] >>783 swing.TimerはEDTでactionPerformed呼ぶからそのへんは大丈夫と思
787 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 13:29:19 ] >>779 Java2Dだとαブレンディング/テストとか足りないものが多いから 2DであってもOpenGL使わざるを得ないのが現実 >>785 が正解 あと注意すべきところはSwingTimerは定期処理にはいいけど、 長時間の流れがある処理には向かないというのもおぼえておくとよろし あくまでも一定時間ごとにアクションイベントを発生させるだけ 詳しく見てないけどSwingFrameworkでjavax.swing.Timerも扱えるんかな?
788 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 22:23:18 ] Javaで動画を再生しようと思っているのですが(Macも含める) ・JMFだとMacで再生出来ない。 ・QuickTime for JavaだとLinuxで再生出来ない。 という認識はあっていますでしょうか?
789 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 22:41:37 ] JMFのクロスプラットフォーム版を含めるなら間違ってる。 というかこれくらい人に聞かずとも分かるだろ。
790 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 00:08:21 ] >>789 ttp://www.animoids.com/jmf_for_mac.html 「JMF_2_1_1_mac.zip」の部分から、 もしかしてMac用がどこかで配布されているのかと勘違いしてしまいました。
791 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 03:27:55 ] 検索するとそこヒットするんだよね。 JMFはjava動かすスペックと動画デコードするスペックを ダブルで要求するからネイティブ版でもいろいろすると重いぞ。 単純なラッパーだからwin版はバグだらけだし。
792 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 08:46:22 ] >>790 こんなの見つけたぞ ttp://www.sra.co.jp/people/nisinaka/Jun4Java/index_ja.html
793 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 15:55:29 ] 2004年から更新してないとか心配なんだけど、 なんでどこも投資して開発を続けないんだろう
794 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 16:06:51 ] こんなところでじゅんを見る事になるとは・・・。
795 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:40:20 ] JFileChooserにおいて、ダイアログ表示時のデフォルトの名前を指定するにはどうすればよいでしょうか?
796 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:55:09 ] setSelectedFile() で指定してから表示
797 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:57:49 ] JFileChooser#setSelectedFile(File)
798 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:14:41 ] ありがとうございました!
799 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:16:16 ] NetBeans入れたら超もっさり動作でがっかりした。 結局今はEclipseにもどりますた。 SwingアプリがSWTアプリみたいに比較的ストレスなく動いてくれる日はマダ来ないのかね。
800 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:25:30 ] もっさりとかストレスなく動くとかってのは主観的なものだから、 >>799 の気分次第で明日にでも来るし、永遠に来ない事もありうる
801 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:57:01 ] >>799 マシンのスペックはいかほどで?
802 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:58:07 ] JavaはマイナーCPUに冷たいだろうし マイナーGPUにも冷たいのかもしれんね
803 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:02:44 ] CやC++なら温かいともいえないんじゃね?
804 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:16:32 ] >>802 Java使ってるSWTもマイナーCPUやマイナーGPUに冷たいって事に?
805 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:17:10 ] >>802 SPARCにも冷たいって事に?
806 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:20:05 ] >>804 はスルーするが、>>805 は許せん。
807 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:42:32 ] 今時はお世辞にもメジャーとは言い難い。
808 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 14:16:14 ] いまさらSPARCもねえだろ
809 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:29:10 ] 金にいとめをつけずWinで最速のマシンもってくれば、Javaでもかなり高速動作するんじゃないの。
810 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:33:56 ] 既存のコンポーネントにアクションを付加したい場合どのような手段を取るのが比較的単純に済むでしょうか? 例えば、JTreeでCtrl+Fで検索のアクションをさせたい場合などです。
811 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 17:44:54 ] >>810 適当なコンポーネントの ActionMap と InputMap に登録すればいいだろ。
812 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:07:49 ] JFileChooserののろさにガックリ
813 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:15:44 ] >>368 あたりで話題になってる不具合のせいかも?
814 名前:>>810 mailto:sage [2007/12/31(月) 18:36:09 ] InputMapを知りませんでした。 こんな簡単に実現できるなんてSwingは本当にすごいですね。 ありがとうございました。
815 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 02:16:39 ] >>799 いつものネガティブキャンペーン乙 6.0だとEclipseのほうが軽いとかってありえんだろ SWTはスレ違いだからそっちでやってくれ
816 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 02:28:13 ] 今更釣られるアホは寝てろ
817 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 08:17:29 ] たしかに起動に関してはnetbeansめっちゃ遅いよな
818 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 02:11:59 ] 何もプラグイン入れなければ、Eclipseは軽いね。
819 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 02:17:51 ] Java EE フルセット入れた Eclipse のもっさりと不安定さはすさまじいものがある。 sysdeo の Tomcat プラグインと JSP, XML の構造化エディタ程度ならめちゃめちゃ軽い。 必要なものを選択できる人間だけが楽できる。
820 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 03:15:40 ] >>819 インストールしてもプラグイン無効にすればいいんじゃね?
821 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 22:26:40 ] swingのコピペを調べてたんだが。 CTRL+X -> CTRL+V で「切り取り -> 貼り付け」した時に、 貼り付け後に、余計なオブジェクトを削除するための後処理はexportDoneでいいんだろうか? なぜか、CTRL+Xを押した瞬間に、exportDoneが実行されちゃうんだ。 exportDoneの説明には、 >データのエクスポート後に呼び出されます。このメソッドは、アクションが MOVE の場合に転送されたデータを削除します。 >MOVE はこの実装にサポートされるアクションでないため、このメソッドの実装では何も行われません。getSourceActions には MOVE が含まれません。 どっちやねんw
822 名前:821 mailto:sage [2008/01/02(水) 22:28:33 ] 今のところ、対処方法が分らないので、exportDoneの中では何もせず、 importDoneの中で、貼り付け操作完了後に、 自分で削除操作を実行しようかなと思ってる。
823 名前:821 mailto:sage [2008/01/03(木) 00:34:28 ] なにをバカなことを! 切り取りの標準的な操作は、切り取りと同時に削除だろうが! エクスプローラの動作が特殊なんだ! 新年早々はずかしぃぃぃぃぃぃぃぃぃぃぃぃ!!!!!!!!!!
824 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 03:16:52 ] エクスプローラの動作は、CUTというよりPREPARE-MOVEだからな。
825 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:53:44 ] >>817 終了はめっちゃ速いのだが。
826 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:23:28 ] jdk1.6.0u3 import java.awt.Frame; これってバグなの?
827 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:33:55 ] ___ ━┓ / ―\ ┏┛ /ノ (●)\ ・ . | (●) ⌒)\ . | (__ノ ̄ | \ / \ _ノ /´ `\ | | | | ___ ━┓ / ― \ ┏┛ / (●) \ヽ ・ / (⌒ (●) / /  ̄ヽ__) / . /´ ___/ | \ | |
828 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:49:08 ] >>827 分かる人にはこれだけで分かる
829 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:53:32 ] >>827 >>828 バグってたのは俺のほうだったw *.class 削除したらコンパイル通ったよww
830 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 00:55:29 ] どういう環境だよ・・・
831 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 01:26:16 ] >>830 pc11.2ch.net/test/read.cgi/tech/1197710566/646 だろう。
832 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 11:20:26 ] テストするならTestFrameとかにすべし
833 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 12:55:58 ] >>831 よくみつけてきたな
834 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 03:57:38 ] 相変わらず質問スレは気持ち悪いな
835 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 17:58:19 ] import java.util.*; import javax.swing.*; public class NewJFrame2 extends javax.swing.JFrame { List<String> dummyList = new ArrayList<String>(); JList jList; public NewJFrame2() { setDefaultCloseOperation( WindowConstants.EXIT_ON_CLOSE); JScrollPane jScrollPane = new JScrollPane(); jList = new JList(); jScrollPane.setViewportView(jList); getContentPane().add(jScrollPane, java.awt.BorderLayout.CENTER); for ( int i=0; i<300; i++ ) { StringBuilder sb = new StringBuilder(); int max = (int)(Math.random() * 100 + 1); //int max = 20; for ( int j=0; j<max; j++ ) sb.append("A"); dummyList.add(sb.toString() + " " + i); } jList.setModel(new AbstractListModel() { public int getSize() { return dummyList.size(); } public Object getElementAt(int index) { return dummyList.get(index); } }); pack(); } public static void main(String args[]) { new NewJFrame2().setVisible(true); } }
836 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 18:01:42 ] JListのカーソルキーによるスクロールことで謎があるので投げてみる。 >>835 のプログラムなんだけど、単純にJListの中に300個のダミーデータを入れている。 カーソルキーで下にスクロールしていき、数十行進んだら、こんどは上に10行くらい スクロール。 そしたらまたカーソルキーで下に移動。 すると、選択されてる項目が一瞬で画面の下までジャンプしてしまう。 このプログラムで、maxを20とか一定の値にした場合はジャンプしない。 JListの各セルの文字列長をランダムに変えたものを入れるとこの現象が起きる。 こういう仕様なのかもしれないけど、一瞬で選択位置が飛ぶと、 目線がそれてしまうので操作感がよくない。 maxを固定したときのように動作してほしい。 なんとかする方法ないかなぁ?
837 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 19:57:24 ] >>836 解決法でないのだが、「ジャンプ」の条件について。 固定長かどうかではなく、Viewport の外に描画域があるかないか、ではないのか、と。 固定長で横スクロールが出るようにしたときは「ジャンプ」するし、 固定長でなくても、横スクロールが出ないときは「ジャンプ」しない。 JScrollPane で横スクロールを非表示にしても、見えない部分があるときは「ジャンプ」する。
838 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 16:05:46 ] フレームの横サイズを水平スクロールバーが出なくなるまで広げてやればジャンプはしないな。 しかしちょっと設定をいじくったぐらいでは解決しそうない。 オーバーライドして一部の機能を殺すとか。
839 名前:デフォルトの名無しさん [2008/01/10(木) 18:27:36 ] ↓このバグだと思うよ。7で直ってるらしい。 bugs.sun.com/view_bug.do?bug_id=6568906 bugs.sun.com/view_bug.do?bug_id=6510999
840 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 18:57:44 ] バージョンアップを待つのが一番楽そうだね
841 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 19:27:17 ] よく見つけてくるな。すげーよ。
842 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 21:33:46 ] 有名なバグだぞ。 JListに512個要素突っ込むとバグるとか放置されてるし。
843 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 22:03:23 ] >>842 2000個いれてみたけど、なにかバグあんの?
844 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 22:52:30 ] 512個入れて、一番したのアイテム選択してCTRL+B これで、すべてのアイテムが2個ずつになって1024個になるというステキなバグ
845 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:06:27 ] 1から10000までの数字を全部掛けたときに 末尾に並ぶ0の個数を求めるのをJavaでおながいします
846 名前:デフォルトの名無しさん [2008/01/10(木) 23:10:36 ] それはSwingに関係あるのか?
847 名前:デフォルトの名無しさん [2008/01/10(木) 23:16:39 ] >>844 バグが出なかったんだけど 他になんか条件ないの?
848 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:17:55 ] >>845 class Test{ static void main () { cnt5 = 0; for (int i = 1;i <= 10000; i++) if(i % 5 == 0) cnt5++; System.out.println("count" + cnt5); } }
849 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:22:25 ] ああ、5から5ずつ足してくから10000/5=2000か?
850 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:48:27 ] 10を素因数分解して2*5。んで、2は大量に有るから、5だけ数えれば良い、と。
851 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:51:27 ] どの道>>848 は間違ってるわな
852 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:07:08 ] >>850 i%25 とか i%125 も数えなきゃだめじゃね?
853 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:07:36 ] どのみちグズグズっぽいんだが。
854 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:15:22 ] スレチだからまぁ。妖精現実を引っ張ってお茶を濁すべ つ ttp://deztec.jp/x/05/faireal/faireal-26-index.html
855 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:19:54 ] いかにロジカルに解くかが課題じゃなけりゃ BigDecimal で階乗求めて数えた方が早い。 実用に問題ないレベルならシンプル記述に徹するのも美学。
856 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:48:09 ] 80-20の法則な。今丁度勉強中。
857 名前:848 mailto:sage [2008/01/11(金) 01:29:37 ] 直した。 class Test{ static void main () { int cnt5 = 0, n; for (int i = 5;i <= 10000; i += 5) { n = i; while (n % 5 == 0) { cnt5++; n /= 5; } } System.out.println("count" + cnt5); } }
858 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:39:18 ] だからどのへんがAWT/Swingに関係あるんだよと
859 名前:デフォルトの名無しさん [2008/01/11(金) 01:57:27 ] 839だけど、このバグは初めて知った。 >>有名なバグだぞ。 にしては、バグ登録日があまり昔ではないが? >>842 >>844 そんなバグはありえない。 まず、JList、JListのsuperクラスにCTRL+Bなんてデフォルトのキーバインドはない。 さらに、ListModelへ項目の追加、削除が可能であることを JListは知りようがないから、JListがListModelに項目を追加することはできない。 (ComboBoxModelのMutableComboBoxみたいなインタフェイスはない。) そもそも、登録もされていないキーバインドが実行されるなら、 JListでなく、JComponentのバグだし。 JListがListModelに項目を追加する唯一の方法は、 ListModelをDefaultListModelへダウンキャストすることだけど、 Swingのソースコードにダウンキャストするような箇所はない。 さて、どうやったら、ソースに書かれていないことを JListが実行するのだろう?
860 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 03:06:00 ] 256発あてるとバキュラを破壊できるんだぜ
861 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 03:13:52 ] Observer や Composite 型の設計だと本体クラスでそう書かれてないからライブラリのバグじゃねーとは 断言できないんだけどな。実行時のリスナやら集約の親子まで調べてやらないと。
862 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 03:22:05 ] ちょっと尻切れトンボだった。 JLabel クラスが無罪であることを得々と説いてもあんまし意味なくね? という話 (実装者乙、でなければ)。
863 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 15:17:13 ] JEditorPane とか、せめて W3C の DOM で xhtml + CSS になってくれりゃ XSL で処理できるからデータを利用しやすいんじゃがのう。
864 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:20:01 ] 自分でやれば良いだろそれくらい。
865 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:50:17 ] Lobo Browserに投資する企業はいないのかねぇ
866 名前:デフォルトの名無しさん [2008/01/17(木) 19:01:08 ] >>865 ブラウザを使うのがPCだけしかない考えてるなら、考え直した方がいい。
867 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:04:52 ] Swing の HTML 機能も携帯のフルブラウザにすら追い越されて久しいわけだが。
868 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:21:49 ] >>867 一緒にしてるしwwwアホか?
869 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:27:01 ] シンクライアントに必要なだけだし携帯とかいらんな
870 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:30:49 ] >>868 むしろあの HTMLEditorKit 系をおまいがどこで活用できてるのか知りたい。
871 名前:デフォルトの名無しさん [2008/01/17(木) 19:31:39 ] ブラウザをJavaでやる必要があるのか?
872 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:42:23 ] 普通にあるぞ。例えばヘルプ機能とかの生産性があがる。 JDICだとXSS対策が必要だろうけど、こっちは不要。
873 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:56:22 ] うん、ヘルプは俺も使う。だがどうしてもその Sandbox から出してやれんw
874 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:06:38 ] バカばっかだな
875 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:09:36 ] Sandboxなフルブラウザは作れると思うが。 Rhinoにその手のインタフェースを与えなきゃいいだけだ。
876 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:22:15 ] フルブラウザという言葉自体胡散臭い
877 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:25:26 ] 頭の悪い煽りがやたら入るスレだなw
878 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:30:43 ] たまに客がどこで見つけたか知らないが 「Swing でもブラウザみたいなこと できるんでしょ?」 と言い出す事もあるが、あれを見せるとさすがに黙る。
879 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:34:02 ] つ Flying Saucer
880 名前: mailto:sage [2008/01/17(木) 20:39:33 ] Swing の HTMLEditorKitは文字通りEditorのためでブラウザみたいに表示onlyではないからね。 でも日本語とかIMEのこととか考えてないよな、あのHTMLEditorKitは。表示だけならいいけど。
881 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:46:38 ] 4.01準拠マダー?
882 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 23:57:24 ] JavaがC++より優れている事を示す 絶好の材料だと思うんだけどなあ<ブラウザ
883 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:15:59 ] 標準ライブラリの有無で言語の優劣を決めるのか?
884 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:23:11 ] 実際問題、ライブラリとIDEが言語仕様の優劣を余裕で帳消しにするからね。 D言語1.0がまったく普及しない原因がそれと言われてるし。
885 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:29:11 ] C++の失敗もそうだね 標準ライブラリがしっかりしてれば Javaは生まれなかったかも知れない
886 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:30:48 ] Perl嫌いだけどこれだけ流行ってしまったのは CPANのおかげと言っても過言ではない死ね
887 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:36:14 ] >>883 の中では SmallTalk が世界を救うようです。
888 名前:デフォルトの名無しさん [2008/01/18(金) 03:53:19 ] java c++ d を同列に扱う馬鹿がおる
889 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 08:12:32 ] >>888 人を否定するなら代替の主張を出してからにしたら?
890 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 14:17:41 ] なにいってんだ?
891 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:29:51 ] 同列だろ。言語仕様は実装とは違うレイヤーにある。
892 名前:デフォルトの名無しさん [2008/01/18(金) 19:37:12 ] いいかげんスレ違いだろ 次の話題どうぞ ↓↓↓
893 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:38:57 ] JMFって商用可能ですか?
894 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:55:06 ] スレ違い
895 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 20:11:16 ] どうかんがえてもここだろ。自治厨とか懐かしすぎ。
896 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 20:52:29 ] JMFがここだって
897 名前:デフォルトの名無しさん [2008/01/18(金) 21:04:19 ] じゃあJOGLはここでいい?
898 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 21:36:21 ] じゃあ、SDL for javaもここだな。 >>865 の脳内ではメディア再生ライブラリがGUIツールキットなんだよ。
899 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 21:51:43 ] 普通の考えじゃん。頭おかしいんじゃね?
900 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 22:57:52 ] JOGLはこっちじゃない? pc11.2ch.net/test/read.cgi/tech/1033703640/
901 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 23:25:19 ] JOGLとJava3Dはまったくの別物だぞ・・・ むしろGLCanvasとかGLJPanelとかAWTとSwingの外部コンポーネントと考えれるからこっちだろと シンプルに描画だけのOpenGLの実装だからユーザーに全ての描画を任せるタイプで フルスタックで重いJava3Dとはかなり違う
902 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 23:44:31 ] JOGLはOpenGLスレで良いらしいぞ
903 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 00:32:48 ] OpenGL自体の知識はOpenGLスレが本筋 でもGLCanvasの挙動とかどうかんがえてもむこうの範疇ではないと思うんだが
904 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 00:49:50 ] JMFの話題についてけないゴミなんだろうな
905 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 02:38:13 ] スレチ
906 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 14:52:45 ] Java標準拡張のメディア再生フレームワークのどこがスレ違いなんだかw
907 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 14:57:23 ] スレタイ嫁アホ
908 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 14:58:04 ] 誰も答えられる奴がいないんだろう。フヌケばかりだしw
909 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:00:19 ] 自己紹介乙
910 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:06:22 ] >>909 フヌケw
911 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:09:12 ] 頭の弱い自治厨が沸いてるみたいだけど、前からJMFの話題は出てるから。
912 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:17:48 ] スレタイの読めない盲目がわいてるからスルーしろ
913 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:20:32 ] JMF涙目www
914 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 21:24:53 ] >>893 ライセンス読むと良いよ。 たしかRuntimeと同じ特例が適用されてたと思う。
915 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 17:18:55 ] そういえばJava Media APIのスレってないんだな。 JMFとJOGLは需要ありそうというか隔離しないと他で暴れるバカが出てきそうだけど。 JAIは実際に使ってるの見たことないな。 Java Media APIスレ立てたら誘導用くらいには機能するかね?
916 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:02:09 ] >>915 JMFはあってもよさそうなもんだなぁ… JOGLは…どの程度使われてるんだろ…?
917 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:18:28 ] ちなみにJava Media APIsはこんだけある ・Java Media Framework (JMF) ・Java Sound API ・Java 3D ・Java Binding for OpenGL(JOGL) ・Java Advanced Imaging(JAI) ・Java Image I/O ・Java 2D ・Java Speech API ・Java Telephony API(JTAPI) JMFとJava Advanced Imaging、Java Image I/O 、Java 2DはAWT/Swingコンポーネント関係ないなら分けた方が良いと思うんだけどな。
918 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:23:03 ] 使われてる割合JOGL>JMF 知名度JMF>JOGL 日本語リソースの多さJMF>JOGL じゃない? javaでゲームつくるとなるとJOGLは欠かせないけど、なきゃないでJava2Dで十分って感じ。 ゲ制のJavaでゲームつくるスレが落ちたからJOGL聞く場所がないんだよ。
919 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:31:48 ] >>918 javaでゲームつくるとなるとJOGLがほしい、ってのはわかるんだけど… そもそもPC向けゲームをつくるのにjavaを選ぶ理由がないよなぁとか思うわけですよ? その手のゲームって結構あるものなの?
920 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:32:44 ] コードに手を入れず入出力フォーマット増やしたいときに使うよ > JAI まぁバグも多いけど。
921 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:32:58 ] JOGLはOpenGLスレでもいいんじゃない ところでJMFとJOGLって比較するもんなのか…?
922 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:42:12 ] 別に比較したいわけじゃなくてスレたてるかどーすっかって話だろ。 需要的に考えると全部まとめて Java Media API スレとかでもいい気がするな。
923 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:48:58 ] ぐだぐだ言ってないでスレ立てればいいだろ
924 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:57:23 ] JOGLは2.0はサポートするけど1.3で拡張からコアに入ったAPIは混同するという理由で1.3で追加されたAPIはサポートされてないから迂闊にOpenGLスレいけないんだよ。 あとjavaでゲームつくるってのはかなり居る。 日本でもググレば出てくるし、海外はJOGL,JInput,JOALはセットでゲームつくるときに使う。 ただ、リソースは海外の方が多い。 だから日本語のリソースがないから英語読めないと何も出来ネ!ってなる。 俺も需要的にJava Media APIsで統一してスレ立てても良いと思うんだが・・・誘導・隔離用にw IIOとかJava soundはアプリケーションプログラマが直接いじる所って少ないしさ。
925 名前:デフォルトの名無しさん [2008/01/25(金) 20:08:13 ] JOGLって将来的に標準に入るって可能性ありますかね?
926 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 20:22:48 ] クライアント向けのJava標準拡張は全てが滅茶苦茶将来性がある。 根拠はJava 7に登場のJava Kernel、JAM、JavaFXあたり。これらは要チェック。 Java Sound本、最近でたね。つい衝動買いしたけど、まだ読んでなかったり。
927 名前:デフォルトの名無しさん [2008/01/25(金) 20:29:26 ] 工学社ってだけでなんか敬遠してたんだけど実際どうなんだろう・・・
928 名前:デフォルトの名無しさん [2008/01/25(金) 23:12:41 ] JOGLに将来性ある事は否定しないけど、まだ3年ぐらい先の話だろう。 つまり人柱。日本語のページも全然ないし。 あまり勧めたくはないけど、もしゲームで、かつwindowsなら、C#じゃないか?
929 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 23:26:44 ] あんな重いの話にならん。 1コア丸々使ってる箱○なら別だが
930 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:12:41 ] 【JMF】Java Media APIs【JOGL】 ttp://pc11.2ch.net/test/read.cgi/tech/1201346803/l50 スレ立てられなかったのでスレ立て依頼出してたのが立った。 今後はこちらでどうぞ。 スレタイには一番使われそうなJMFとJOGLを追加しといた。 ほかテンプレあれば書いて。 Java Media APIsはDesktop Javaの一部なんでJava SE以外のエディションやAndroidは関連スレから除外しといた。 ネイティブ依存なSWTも同様。
931 名前:デフォルトの名無しさん [2008/02/06(水) 00:48:21 ] で、いい加減そろそろ、JAIのメモリリークは直ったのか?
932 名前:デフォルトの名無しさん [2008/02/07(木) 21:21:18 ] 複数の Component の描画の順序(重なり具合)を任意に変えるには、 親コンテナ.remove(comp) / 親コンテナ.add(comp, index) もしくは getComponentZOrder(comp) / setComponentZOrder(comp, index) の組み合わせしか方法はありませんか? Component のほうが、自立的に一歩前進、とか、一歩後退、みたいな仕掛け、ありませんかね…? たとえば、大、小の円がそれぞれ component だったとして、 それを、drag で、重ねたときに、◎になるようにするしたいんですが。 (2つに限らず、3つ、4つでもいけるように) getComponents してループさせて入れ替え、しかないでしょうか。
933 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 21:49:59 ] JLayerdPaneを増やして載っけるとか。
934 名前:932 [2008/02/07(木) 22:13:16 ] >>933 おぉ、JLayeredPane、忘れてましたw duke 君のデモソースはチェックしたのに、なにしてんだ>自分 そういう Pane がある、ということは裏を返すと Container/Component には、あまり気の利いた順序変更の手段はないんですかね。 ひきつづき、つっこみ・ご意見お待ちしております。
935 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:38:09 ] 実際のところ重なりの順序を動的に変えたいことってあるの? それが必要なパターンが想像できないんだが。
936 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:52:22 ] CardLayoutでもいいんじゃね?
937 名前:932 [2008/02/07(木) 23:03:27 ] レス、どうもです。 >>935 ビジネスアプリケーションじゃなくて、えと・・・ ゲームでキャラが重なる、みたいなヤツを思い浮かべてください。 >>936 CardLayoutは、ノーチェックでした。 リファレンスをチェックしてきますノシ
938 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:06:39 ] >>937 ゲームのようなやつならSwingつかわずにJava2D等で描画したほうがいいよ 速度的にもメリットが薄い
939 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:41:33 ] SwingよりJava2DじゃなくてSwingよりAWTでJava2Dじゃね? Java2DよりJOGLの方がry
940 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:43:46 ] Java2D って Swing じゃないのか?
941 名前:932 [2008/02/07(木) 23:46:41 ] >>936 CardLayout、あとは自分で動作とか確認しますが、リファレンス曰く、 「コンテナ内の各コンポーネントをカードとして扱います。一度に 1 枚のカードだけを表示し…」 う、1枚では困るぅ〜。 >>938 Java2D にそんなに詳しくないのですが、 ゲームのキャラでなく、(バーチャル環境の)アバターみたいのヤツを 前後(奥行き)に操作する、といったような例だとどうでしょうか。 イメージのまま取り回すのは管理が大変かなぁ、とビビッているのですが…。 設計次第ですかねぇ。 速度の要望はそんなにシビアでないです。
942 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:11:39 ] >>940 違うAWT、Swing,Java2Dは同じ層にあるUser InterFace Toolkits。 AWTはAWT,SwingはSwing,Java2DはJava MediaのAPI。 そもそもAWTは重量WindowToolkitでSwingはJava2Dを使った軽量WindowToolkitだろ。 Java2Dは2D描画ライブラリ。 javadoc嫁。
943 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:23:42 ] >>939 JOGLいいけど、テクスチャを単純に表示するのが目的ならそこまで必要ないと思う プラットフォームによってパッケージが違うのもやっかいだし、Line引くときたぶんはまる Java2Dはαブレンディングがまともに実装されていないのがきついかな おかげでゲームで使うときはJOGL必須だ >>941 その動かすキャラクターの動く範囲は? Window内をじゆうじざいにということでないのなら、 その描画はJava2Dによる重ね合わせのほうが難易度は低いと思う
944 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:38:19 ] αブレンドなぁ。結局Java2Dだとハードウェアアクセラレータ効かないんだよな。 JOGL1.1ならcom.sun.opengl.util.j2dが追加されたから BufferStrategyと同じ感覚で使えるんだけどcom.sunパッケージは嫌い?
945 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 02:07:08 ] レイヤードペインの話題が見えたので便乗 1.JFrameのgetLayeredPane()に直接JLabelとか貼り付けて遊んでた。 2.この状態で、ポップアップメニュー出したら、表示されなかった。 3.マウスをずるずる動かして、見えないメニューの上を通過させるとメニューが表示された。 ※メニューが「パッ」と全部表示されるんじゃなくて、 マウスが乗っかったメニューアイテムが1つずつ表示される。 4.JLabelを乗せるレイヤーを変えても問題は解決しなかった。 そもそも1.の使い方がナンセンスなのか。 レイヤードペインとポップアップは気をつける何かがあるのか。 誰か知ってる人がいたら教えてください。
946 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 04:07:33 ] 混ぜるな危険じゃない?
947 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 08:21:43 ] ポップアップってどっかのレイヤーの上に描画されるんだっけ? GlassPane?
948 名前:デフォルトの名無しさん [2008/02/08(金) 09:58:10 ] おはようございます。932,941でございます。 とりあえず、LayeredPane を導入してみますデス。 もう一個、教えてくんです・・・。 contains(int x, int y) メソッドって、 リスナーにしなくても mouseEntered なとき(Component 上に マウスカーソルがあると)、勝手に呼ばれるようですが、 それでよいです??? Documented な仕様ですか? override して使わないほうがよさそうですよね。override しちゃだめ? だったら final にして〜〜。
949 名前:デフォルトの名無しさん [2008/02/08(金) 18:15:56 ] >>947 描画される順番の問題。 GlassPaneは自分で描画しない限り何もない。 GlassPaneでイベント握り潰せば結果的にGUIをブロックできる。
950 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 18:21:08 ] >>947 layeredPane の POPUP_LAYER じゃない?
951 名前:945 mailto:sage [2008/02/09(土) 00:25:29 ] 追記 JLabelにアニメーションGIFを表示させた場合、 絵が書き換わるたびに、マウスずらしで表示させた ポップアップメニューが消されたw ・JLabelに文字を表示させた場合 ・普通にコンテンツペインにJLabelを置いた場合 この状態での実験も。。。今度やってみる
952 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 11:06:14 ] どうしてもバグければ JPopupMenu#setLightWeightPopupEnabled を false にしてみる手も
953 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 11:47:18 ] バグ-ける
954 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 11:59:19 ] その活用形はおかしい バグ-かろう バグ-かった バグ-くない バグ-い バグ-ければ
955 名前:948 [2008/02/09(土) 13:01:03 ] 昨日、速攻、JLayeredPane 組み入れました。 気がついたのは、 より上位の Layer のコンポーネントが、より下位のコンポーネントを 完全に覆い隠すと(感覚的にいうと lower.getBounds() < upper.getBounds()) のとき下位のコンポーネントが描画されない(消える) つーことがありました。 理屈としては、そのほうが、高速化が図れるのかもしれないけど、 上位の矩形のイメージが透明化されてるときちょっと困るんだけどなぁ。
956 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 13:38:19 ] >>955 上位レイヤのコンポーネントでsetOpaque(false)でどう?
957 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 13:41:41 ] setOpaque(false) してる?
958 名前:948 [2008/02/09(土) 15:38:21 ] >>956 ,957 レス、どうもです。 setOpaque() してると思うんですが、今日は、職場でないので 確認できないっす。火曜日にチェックします! みなさんは休出っすか?
959 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:41:04 ] >>958 は 3 回くらい死んでも良いと思う
960 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:30:57 ] つーか自宅にPCないんか
961 名前:945 mailto:sage [2008/02/10(日) 03:09:13 ] おいおい、会社で趣味プログラミングかよw それはともかく、>>952 さんありがとうございます。 ポップアップでまくりですよ。 そして、実験の報告。 >・JLabelに文字を表示させた場合 結果:× レイヤードペインに文字ばっかりのJLabelを乗せてみた。 文字の後ろにメニューがでた。文字の隙間からメニューが見えてるw マウス動かすと文字の前に来るあたりの挙動は一緒。 >・普通にコンテンツペインにJLabelを置いた場合 結果:○ 当たり前か。
962 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:28:37 ] 現在TransferHandlerを用いてJTreeにコピーアンドペーストの機能を付加しています。 同様のアクションをJPopupMenuにも加えたいのですが、どのようにすればよいでしょうか? CTRL C, CTRL Vではうまくいくのですが、JPopupMenuからアクションを行うと、ソースが変わってしまいだめなようなのです。 TransferHandlerのcopyのアクションのコードを見てみると、アクションソースがJComponentのインスタンスでなければ弾いているのが原因のようです。 そこで // a:TransferHandlerのアクション private Action createAnotherSourceAction(final Action a,final Object src){ return new AbstractAction(){ public void actionPerformed(ActionEvent e) { e.setSource(src); a.actionPerformed(e); } }; } こんな感じで新たに生成してやるとうまくいくのですが、わざわざ作り直すのは抵抗があって・・・ 何か打開策がありましたらご教授ください。
963 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:16:03 ] >>962 アクションが操作対象となるJTreeのインスタンスを持てばいいだけじゃないのか?
964 名前:962 mailto:sage [2008/02/15(金) 09:33:09 ] 聞いておきながら遅くなってしまってすみません。 JComponentのインスタンスでなければ弾いているので、そもそもアクションまで起こっていないんです。 CopyActionくらい自分で実装して、>>963 さんのおっしゃるように対応したコンポーネントのインスタンスを持たせていた方がいいかもしれないですね。 ありがとうございました。
965 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 11:27:45 ] 例えばリストにTransferHandlerを設定するとき、COPYなのかMOVEなのかCUTなのか判定させたいときどのようにすればよいのでしょうか? それを実装するコンポーネントでどのようなアクションを取ったかを調べられれば問題ないのですが、それがMouse系のリスナーではスマートに調べられなくて困っています。 教えください。
966 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 11:36:04 ] 勘違いしていました。 何十回か氏んできます。
967 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:38:09 ] GUIのデザイナはなかなか決定的なものがないようなのですが、 メジャーどころだとNetbeans付属のものやVisual Editorがありますよね。 ほかにもJformDesignerや、jvilderなどがあるようです。 みなさん、GUI開発にはどんなツールをお使いですか?
968 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:48:00 ] テキストエディタで手書きしてまつ・・・
969 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:51:42 ] jiglooがなかなかおすすめ。 慣れないうちは思うようにデザインできないけど慣れたらかなり使いやすいかも
970 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:54:49 ] 私はVisual Editor。でも、ちょっとコンポーネント置いただけですぐ 1000行ぐらいいっちゃうのがちょっとアレですが。 jiglooは冗長にならないように書けます?
971 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:28:06 ] Visual EditorってGroupLayoutサポートしてましたっけ? あれ使えばそんなに冗長にはならないですよ 個人的に一つ一つのコンポーネントのプロパティ設定で勝手にブロックで囲んでくれてるのが見やすくて好きです。
972 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:50:00 ] 残念、Visual EditorにはGroupLayoutのサポートはまだないみたいです。 他のデザイナを試してみることにしましょう。Jiglooか、もうNetbeansかな。 EclipseのプラグインでWindowBuilderというのもこれに対応しているようですが、 日本で使ってる人があまりいなさそう・・・
973 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:39:26 ] ソースコード生成するんじゃなくてXAML式に 書けるGUIデザイナが欲しすぎる。
974 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:14:14 ] リファクタリングとかソースとの動機が取れなくなりそうだ
975 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:54:12 ] 一般ブラウザ並みに JTextPane 強化して HTML ベースで GUI 組めるようにしたほうが 何かと合理的。
976 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:02:31 ] それはねーよ 細かいイベント等制御するためのSwingなんじゃねーか HTMLベースでいいのならWEBアプリにするだろ
977 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:11:07 ] onmouseover などからイベントリスナ呼びゃいい話でしょ。必要なら追加すりゃいいし。 Web 開発の資産やスキル転用できるし、単純にブラウザコンポーネントとしても転用も可能。 まじめに考えてるわけではないのでカスタムコンポーネントの追加方法なんか考慮する 必要はあるが、そんな頭から否定されるほど悪い話ではないと思うが。
978 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:27:11 ] そんなの全く考えたことなかったから結構新鮮だわw まぁ今の環境で満足だし、そこまで外部化してしまわなくてもいい気もするなぁー
979 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 17:43:06 ] GUIコンポーネントは宣言的に置くようにしてロジックは別にしたいってことでしょ JavaFXがやろうとしてるんじゃないかな ただXMLベースじゃないみたいだけど
980 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 17:49:05 ] そこまでWeb開発の資産やスキルを転用したいのなら、 スタンドアロンアプリでTomcat動して、UIはブラウザ、ってすればいいんじゃね?
981 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:09:12 ] アプレットや Web Start とかで使えねんじゃ。
982 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:14:29 ] XULを再発明したいのか
983 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:37:25 ] JSP や JDBC を再発明と言う? 別に XUL の Java 実装でも良いけど。
984 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:46:16 ] あ、いやこの話はそろそろやめる。
985 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 19:19:48 ] >>977 scriptのIDEサポートとかJavaのほかに別言語を覚えないといけないとか そもそもブラウザによって違いがあるというのに・・・ ボタンクリック等のイベント程度でいいのなら別にかまわんとおもうけど
986 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 21:36:38 ] XMLは長ったらしすぎるので すっきりとロジックと融合したGUIが宣言ベースでかけるというのが 売りなのでしょう。 ただ、いまいち方向性が分からないというのは・・・。
987 名前:デフォルトの名無しさん [2008/02/24(日) 21:57:42 ] SWTスレとマルチで失礼します。 クライアント側のJavaで、RTF文章を何らかの形で表示(編集できなくてもOKです)させたいのですが、 JEditorPaneはあまりにも古すぎてJREに同梱されているLICENSE_ja.rtfすらマトモに読めない、という 情けないことになっています。他に何らかの代替/回避方法はないのでしょうか?
988 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 11:01:37 ] RTFをパースして使えるコンポーネントに流し込むところを自作する
989 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 11:06:57 ] うふふw鬼ww
990 名前:987 mailto:sage [2008/02/26(火) 10:29:05 ] >>988 >>989 いや、マジメな話、(ライブラリ等を使うかは別にして)今のところ、ググって引っかかるのはそのアプローチしかないみたい。 もう少し簡単な方法がないかと思って質問してみたのですがね(笑
991 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 10:43:02 ] SWT なら OLE でハメ込めるんじゃなかったっけ?
992 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 10:48:04 ] いまどきそれだけのためにSWT使うってのもなぁ
993 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 01:57:15 ] 非常に抽象的な質問で申し訳ないのですが、スクロール可能なコンポーネントを作る際、Scrollableを実装するだけではだめなのでしょうか? 単純に実装してJScrollPaneにのっけてやるだけでは、実装したメソッドのうち、 getScrollableTracksViewportHeight() getScrollableTracksViewportWidth() の二つは呼び出されるのですが、肝心の getPreferredScrollableViewportSize() が呼び出されないのです。 どうしてでしょうか?
994 名前:デフォルトの名無しさん [2008/02/28(木) 03:04:21 ] みんなBoxLayoutはつかってないのか? ほとんどこれ1本でやってるんだけど。
995 名前:デフォルトの名無しさん [2008/02/28(木) 03:21:59 ] > 993 getPreferredSize()はどう実装している?
996 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 08:45:59 ] >>995 すみません。寝ぼけてたようで、 getScrollableTracksViewportHeight() getScrollableTracksViewportWidth() の判定で必ずtrueがかえってしまうようになってしまってました。 というわけでスレ汚してしまったのでお詫びに次スレ建ててきました・・・が、タイトル間違えてしまいました。 本当にすみません。板まで汚してしまったみたいです。 pc11.2ch.net/test/read.cgi/tech/1204155623/
997 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 17:48:07 ] 1レス埋めて去る。
998 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 18:54:53 ] ところで次スレは上の見すったやつ使うの? せっかくスレタイ変えたのに
999 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 19:24:19 ] っと、気づいたらもう999かよ
1000 名前:デフォルトの名無しさん [2008/03/01(土) 19:25:58 ] 上野でいいじゃん 細かいこと気にするなよ
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。