- 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
- 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を書いても変わりませんでした。 どなたかお手数ですがやってみてもらえないでしょうか?
|

|