1 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 11:50:09 ] ハードウェアの高スペック化、JavaVMのホットスポットの高速化に伴い、 パフォーマンスの問題は徐々にですが改善されつつあります。 しかしながら、"Java"というだけで未だに敬遠されるのが現状。 そんなSwingと引き続き付き合っていくみんなのスレッドです。 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
528 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 11:43:12 ] いや、普通にLGPLのライセンスに従うだけ 静的なのか動的なのかでは動きは変わらない LGPLはライブラリのバージョンアップなどが合った場合差し替える権利を保証するだけ だからアーカイブ方法を提示してあげるだけだよ 静的だとオブジェクトファイルやコンパイル時のバージョンなどを明記すればよかったが 動的だと差し替えが容易なのでその記述が簡略化されるだけ
529 名前:デフォルトの名無しさん [2007/06/25(月) 23:13:07 ] Java5でUTF-8の濁点入りの文字列をJTextFieldで編集するとカーソルがずれて、 Java6で濁点入り文字列をJLabelで表示すると濁点が1文字として表示されるんですが、 普通に1文字で表示してしかもカーソルがずれない方法ないもんでしょうか?
530 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 23:28:09 ] 環境は? 俺はずれたことないのだけれども、そのずれる文字コードはなに?
531 名前:デフォルトの名無しさん [2007/06/26(火) 02:08:43 ] フォントに問題あるんじゃないの
532 名前:529 mailto:sage [2007/06/26(火) 02:34:40 ] ごめん、スレまちがえた。 MacのSwingの話です・・・ Mac板逝ってきます。
533 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 10:51:45 ] 環境によって違うとしても その違いは仕様で片付けるにはあんまりだな。
534 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 12:43:31 ] Macでも日本語がおかしいとはきいた事がないな
535 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:51:27 ] macのネイティブLaFにはバグがあるけどな。
536 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:53:31 ] Macじゃなくて、Windowsでも再現するかはチェックしたいな・・・ 再現コードがほしい |-`).。oO(・・・・・・MacのMustangの日本語に関する問題としては、 レンダリングエンジンの問題の件、直るのか? QuartzというMac固有のレンダリングエンジンからSunのレンダリングエンジンに変更されて フォントの種類によってベース位置がずれる問題・・・。 半年以上前から、MacのJavaスレで報告されていたのに、新しい開発版Javaが出てこないから 直してるのかわからねえ・・・)
537 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:57:24 ] >>529 Mac OS Xって NFD じゃなかったっけ? 1.6以降なら java.text.Normalizer あるから簡単に NFC に変換できる。 1.5以前は知らん。あと NFC に変換してもフォントが対応してるか俺は知らん。
538 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:41:34 ] そもそも"UTF-8の濁点入りの文字列"ってUnicodeでいったらどこの番地? charsetとencoding混同してる時点で伝わってないかと。
539 名前:デフォルトの名無しさん [2007/06/26(火) 18:26:19 ] むずかしいことはわからないが、リッチクライアントが待望される現在、 Swingがいまひとつ冴えないのは何でだろう。素人的に考えるに、次の 2点だと思う。 (@)開発ツールあまりに貧弱 VisualEditorというものを使ったが、遅くて快適に使えない。 ちなみにメモリ1G。かつてのVisualBasicとどうしてもくらべて しまうが、なぜこれほどの差があり、差がちじまないのか。 (U)見栄えが今ひとつ フォントなど見栄えが悪い。アンチエイリアス「java -Dswing.aatext=true」 なども使ってみたが今ひとつ。 (いちいち引き合いにして悪いが、従来のVBでつくった画面にくらべると そう感じざるをえない) それ以外にも少し機能が貧弱な面があるが、少なくともこの2点が 改善されたら、俺は積極的に使いたいと思う。 フリーソフトニいろいろケチをつけて申し訳ないが・・
540 名前:気まぐれアナスイ mailto:!(ΦyΦ+){秘密です。} [2007/06/26(火) 18:43:35 ] >>539 開発し易いsoft.と云うのは構成配置を覚えるにはいいですが? そのsoft.を使用し作成されたapplication.と云う物は、 必ずsoft.に依存します… 当たり前に規約にも影響する物です。
541 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:49:31 ] >>539 何故Netbeansを使わない。 そして、aatext=trueは、・・・・ まずは、>>539 の知識を広げるところから始めた方が有用そうだ。 Swingの表現力を見るために、V2Cを見てみることをおすすめします。
542 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:57:12 ] フォーカスの順序とかもっと簡単に指定できないかなあ。 結構お客さん、こだわるんだよなあ。
543 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 19:02:59 ] aatext=trueはsunの5.0しか効かない。それに今はデフォで有効だろう。 さらに引数与えても捨ててるはずだけど。 LCDテキスト用AAアルゴリズムが追加されたけど実行後にプログラマが 最適なアルゴリズム選ぶ手段がjavaには無い事ない? javaらしいって言ったらSwingの描画は全てJava2DだからJava2Dでできることは全て GUIへフィードバックできるよね。
544 名前:デフォルトの名無しさん [2007/06/26(火) 19:05:59 ] >>541 V2Cを見ました。 すばらしい! たぶんソースコードは公開されてないんでしょうね
545 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 19:06:08 ] Swingが流行らないのは、単に作るのが面倒だからじゃね? プラットフォーム互換性を持つ反面、使いづらいレイアウトマネージャ、 デザパタの教科書に使えるくらい美しい(と言われる)が、取っつき悪いクラス設計、 そして優れたGUIデザイナといわれるNetBeansがマイナー扱い。 業務でJava GUIクライアント作ったんだが、 他の連中がメンテできない。正直公開している。 ま、他の連中のスキル不足とかノウハウ共有が悪いとか、 他に理由はあるんだけどさ。
546 名前:545 mailto:sage [2007/06/26(火) 19:07:09 ] 公開じゃねえ後悔だ。orz
547 名前:デフォルトの名無しさん [2007/06/26(火) 19:09:55 ] >>541 VisualEditorを使った理由。 Eclipseを使っていたから。 たまたま市販の参考書が多かったから 今後はNetbeanにシフトしたいな SUN純正だし
548 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 19:17:57 ] >デザパタの教科書に使えるくらい美しい(と言われる)が、取っつき悪いクラス設計 GUIは中途半端なMVCだけどな
549 名前:デフォルトの名無しさん [2007/06/26(火) 19:28:17 ] >>540 ユーザインタフェース(要は画面)をつくる場合コードからガリガリ書く のはばかばかしいので、マウスのドラッグ&ドロップで簡単に画面アプリを 作成できる開発支援ツールがあれば大変重宝します。 特にエンドユーザーに見せるため一度しか使わないプロトタイプ画面 などはそうやって即効で作成したいところです。 当然本開発になっても仕様変更など生産性は著しく向上します。 ところがツールで生成したコードが著しく汚くて冗長だと、コード のメンテナンス性が低くなり、ツール使用によるメリットが半減して しまいます。ツールに依存していても、コードを判読するケースは あるからです。 つまりツールが自動生成するコードは、まるで有能なプログラマーが 一から開発したかのように合理的で明快なコードである必要があります。 そうでないとツールは普及しないでしょう
550 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 19:53:05 ] レイアウトマネージャが使いにくいって・・・ VBとかのほうが苦労するだろ 絶対座標マンセーならかまわんが、ウインドウリサイズとか対応するのきついぞ そもそもJavaでGUI作るのにVEって・・・ あれはSwingやJavaのGUIを陥れるために作られたものと考えるくらいがちょうどいい
551 名前:デフォルトの名無しさん [2007/06/26(火) 20:33:31 ] 仕事でNetBeans使ってる人って結構いる?
552 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 20:39:46 ] 結構いると思う 5.0からは複数のプロダクトで使われてるのみてる 大手はRSAとかだけど重すぎてきつい
553 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 21:32:39 ] >>551 うちの奴らはGUIの作成のみに使ってる。他はEclipse使ってるみたいだが。。。 Swing流行らせるためには、まずはNetBeansが機能も知名度もEclipse並に なってもらわないとだめだね。
554 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 21:40:43 ] 日本だとNetBeansの動きがやや鈍いね 海外は動きが速い
555 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 21:49:24 ] 本屋にくだらないEclipse本があふれてるからねー 海外だとそこらへんの事情も違うのかな・・・
556 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 21:56:01 ] まずはJREをどう抵抗少なく配布するかじゃないか? 結局ここが一番のネックに感じる。 launch4j に JRE 同梱して、 「exe 叩けばOK」な形で配布すると 割と抵抗なく受け入れてもらえるんだが、 人としてこのファイルサイズはどうなのって感じが。
557 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 22:14:40 ] gcj使ってるひといる?
558 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 22:22:23 ] >>556 アプリとして有用であればランタイムが大きくても気にしない のが正解かと
559 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 22:49:47 ] >>556 Consumer JREがどうなるか気になるね。 軽量化してくれればJRE同梱も納得できるサイズになるかも。
560 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 22:56:28 ] >>558 Delphiも結構デカくなってたしなあ・・・。
561 名前:529 mailto:sage [2007/06/26(火) 23:16:16 ] Mac板から帰ってきました。 NFCとNFDについて勉強してきたんで、なんでこんなことになるか 理解できました。 ファイル名を扱うツールを作ってるんですが、ファイル名を取得して テキストエリアに表示するサンプルを作って試したら問題が再現しました。 以下、サンプルコードです。
562 名前:529 mailto:sage [2007/06/26(火) 23:16:56 ] package test; import java.io.File; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class DakuonTest { public static void main(String[] args) { try { JFrame frame = new JFrame(); JTextArea text = new JTextArea(); frame.getContentPane().add(new JScrollPane(text)); File[] files = new File(args[0]).listFiles(); for(int i=0; i<files.length; i++) { text.append(files[i].getName() + "\n"); } frame.pack(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }
563 名前:529 mailto:sage [2007/06/26(火) 23:22:03 ] 第一引数のパスのディレクトリのファイル一覧を取得し、 1行に1ファイル、テキストエリアに表示しています。 「ピクチャ.png」があった場合、 Java 5の場合、ピは1文字で表示されますが、カーソルはずれてます。 Java 6の場合、ヒ゜と表示されます。
564 名前:529 mailto:sage [2007/06/26(火) 23:34:10 ] ついでですが、濁点の入る文字が三つ以上続くファイル名でJava6の場合、 濁点がずれて表示されます。 「ががが.txt」 の場合、 「か゛かか゛゛.txt」 と見えます。 Appleのバグレポートにあげようかと思ったんですが、こんなもんどうやって 英語で説明したものか・・・
565 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:35:58 ] >>563 >>536 が言ってるフォントレンダラの問題なんじゃないかと推測。 1.5 -> Quartz という Mac 本来のエンジン使ってるので、NFD でも 一文字として表示する、 けど Java と Quartz の連携が中途半端で文字の大きさとかの情報が渡ってなくって カーソル位置がずれる。 1.6 -> Sun のエンジンは NFD は 別々の文字として表示する。 あくまで推測だから本当のところはわからんけど。
566 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:40:06 ] 1.5までは合成文字未対応だから、1.6でjava.text.Normalizerを 通すのがまっとうな解決法だろうなぁ。
567 名前:566 mailto:sage [2007/06/26(火) 23:41:05 ] いや、比較する訳じゃないし、これはあくまで描画上の問題ですね……
568 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:56:10 ] 比較する訳じゃないのに、Normalizeされた文字列を 表示しようとするのが間違い。 MacのFSのUTF-8はNormalizeされてるので、取ってきた後 deNormalizeしてから表示するべき、ってことなのかなー。
569 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:00:03 ] macオワタ
570 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:03:58 ] macは知らんがレンダラのフォントの扱いの問題? appleこういうの多いよね。
571 名前:529 mailto:sage [2007/06/27(水) 00:29:08 ] とりあえずAppleに「直せや」ってねじ込んで、駄目なら568さんの方法で 自分のコードを改修しようと思います。 その場合Java5については諦めるしかなさそうですね。 ついでなんでさらにMacのSwingについてぼやきます。 日本語キーボードを使っていると、KeyEventのgetKeyChar()とgetKeyCode()の 戻り値が矛盾します。 英語と日本語キーボードで配置が変わらない数字やアルファベットのキーなら 問題ないですが、記号だとgetKeyCode()の値がおかしいです。 たとえば@キーの場合、getKeyChar()は'@'を返しますが、 getKeyCode()はKeyEvent.VK_OPEN_BRACKET(0x5B)を返しました。 キー操作の多いアプリで、キーコードとアクションを関連づけてるんで しゃれになりません。 バグレポートは投げておきましたが、なんでこんな基本的なバグが 何年も放置されてるんだと・・・
572 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:52:29 ] おんなじ現象で困ってる人 ttp://www.starseed.ne.jp/ikemen/diary/tdiary/?date=20070622#p02
573 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:08:00 ] mac版はアップルが実装してるからなぁ・・・ VMが昔はたくさんあったが今は淘汰されてSunのばかりになったことも移植性があがった原因なんだよな しかしLinuxとWindowsは問題ないというのが歯がゆい
574 名前:デフォルトの名無しさん [2007/06/27(水) 08:54:46 ] VEでjspinnerって入力できるの?
575 名前:529 [2007/06/27(水) 09:21:07 ] >>572 すんません、それ僕です。
576 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 09:37:18 ] >>574 Choose Beanすれば何でも可
577 名前:574 [2007/06/27(水) 09:43:30 ] >>576 なるほど、ありがとうございます。
578 名前:574. [2007/06/27(水) 09:56:55 ] 連続質問すいません。 JSpinnerで入力した値を取得したらNullPointExceptionが出てきて困っています。 JSpinnerは JSpinner SP_Date = new JSpinner(new SpinnerDateModel(new Date(), null, null, Calendar.DAY_OF_MONTH )); SP_Date.setBounds(new Rectangle(147, 191, 113, 21)); SP_Date.setUI(new BasicSpinnerUI()); SP_Date.setModel(new SpinnerDateModel()); という感じで作成し、 String TestDate = SP_PurchaseDate.getValue().toString(); で取得しようとしているのですが…
579 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 10:03:28 ] setBounds・・・ゴクリ
580 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 12:43:57 ] >>578 JSpinnerの使い方間違ってね? ・JSpinnerのコンストラクタにSpinnerModel指定したのなら、setModel()は不要 ・SpinnerDateModel使うのなら、モデルに対してgetDate()すればDate型で値もらえる それと、変数名は小文字で始めようぜ。Javaの流儀だ。
581 名前:529 mailto:sage [2007/06/27(水) 22:24:31 ] もはやSwingと関係ないんですが、MacのJavaでかなり衝撃の事実が 発覚したんで書きます。 new File("ががが.txt").createNewFile(); で作られるファイル名が「か゛かか゛゛.txt」になります。 あと、564に書いたことは間違っていて、 「ががが.txt」が「か゛かか゛゛.txt」と見えるのではなく、 Javaで「ががが.txt」を作ると「か゛かか゛゛.txt」が出来る、という話でした。 ひどすぎる・・・ Java6の場合、 new File(Normalizer.normalize("ががが.txt", Normalizer.Form.NFD)).createNewFile(); と書くと正しいファイルが作れましたが、多分Java5だと どうしようもないんじゃないでしょうか。 スレと関係なくてすみません。
582 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 23:16:12 ] 普通に日本語使っただけでNormalizerが必要ってのもおわっとるな Mac対応はやめよう LinuxとWindows、Solarisだけでいいや
583 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 23:25:53 ] >>581 変な挙動だね…… ががががが.txt みたいに「が」の個数増やすと、どーなるんだろとか がぎぐげご.txt みたいに濁点は付いてるけど別の字の場合とか 興味があったり
584 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 23:28:15 ] macオワタ\(^o^)/
585 名前:529 mailto:sage [2007/06/27(水) 23:42:19 ] >>583 実験してみました。 がががが.txt -> ががかが?.txt ががががが.txt -> ががかかが??.txt がががががが.txt -> がががかかが??.txt がぎぐげご.txt -> がぎくけご??.txt がぱが.txt -> がはか??.txt(最後の「か」に半濁点付いた後に濁点があります) がぱがぱ.txt -> がぱかば?.txt(最後のばの後に半濁点が付いてます) なんか頭痛くなってきました・・・
586 名前:529 mailto:sage [2007/06/27(水) 23:44:53 ] すんません、コピペじゃ駄目みたいなんで書き直します。 がががが.txt -> ががかが゛.txt ががががが.txt -> ががかかが゛゛.txt がががががが.txt -> がががかかが゛゛.txt がぎぐげご.txt -> がぎくけご゛゛.txt がぱが.txt -> がはか゜゛.txt(最後の「か」に半濁点付いた後に濁点があります) がぱがぱ.txt -> がぱかば゜.txt(最後のばの後に半濁点が付いてます)
587 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 05:20:04 ] >>586 ソースの文字コードだけど何使ってる? コンパイルする時に、-encodingオプション指定すればよくなくね? WinのコードとMacのコードは違うしそこらへんの問題じゃなくて?
588 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 09:37:16 ] String s = "\u304c\u304c\u304c\u002e\u0074\u0078\u0074"; System.out.println(s); new java.io.File(s).createNewFile(); をwinのJDK5でコンパイルして、バイトコードをmacに持っていってJDK5環境で実行すると、 println表示は「ががが.txt」だけど、作成されたファイル名は「がかが゛.txt」になるね。 macはサブで、あまり本格的にjavaでいろいろやったりしてなかったんで、 macのjava実装がこんなもんだということにちょっとびっくり。
589 名前:574. mailto:sage [2007/06/28(木) 09:50:31 ] >>580 ありがとうございます。 getDate()ですね。 あと、変数名おかしいのも指摘していただいてありがとうございます。 またひとつ質問があるのですが、 JSPinnerで 日付のみを表示することって可能でしょうか? 2007/06/28 00:00:00 という表示を 2007/06/28 という表示にしたいのですが…
590 名前:588 mailto:sage [2007/06/28(木) 10:22:52 ] 分解後のリテラル"\u304b\u3099\u304b\u3099\u304b\u3099\u002e\u0074\u0078\u0074"だと、 ファイルとして「ががが.txt」が生成されるけど、逆にwin環境では化けファイル名になる。 もしかしてmacでNormalizerを使って正しいファイル名を生成できたとしても、 それをwinに持ってきて正しいファイル名にはならない? うちはJDK5環境のままなんでNormalizer周りを確認できないけど。
591 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 10:38:04 ] >>590 > 逆にwin環境では化けファイル名になる NFD使われた程度で化けるならWin側にも問題はあると思うけどね。 NFCが正しいユニコードってわけじゃないし。 まぁ、>>586 のはバグだろうけど。
592 名前:588 mailto:sage [2007/06/28(木) 10:46:23 ] >>589 JSpinner#setEditorを使って、 setEditor(new JSpinner.DateEditor(sp, "yyyy/MM/dd"))
593 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 10:49:40 ] 名前欄が……orz
594 名前:589 [2007/06/29(金) 00:15:08 ] >>592 ありがとうございます。できました。 でも次はデータを取得したらなぜかぬるぽになる・・・ sp.getValue().toString() とかやってみたのですが…
595 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:36:31 ] commitEdit しないと値が確定しないからぬるぽなんじゃね?
596 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:37:53 ] ソースさらさんとわからん
597 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:40:59 ] >>594 spがnullなのかsp.getValue()がnullなのか。 データ取得のタイミングが早過ぎてスピナがまだ構築されていないとか。 試しにこういうのを作ったけど普通に取得できたよ。 JFrame f = new JFrame(); f.setLayout(new java.awt.FlowLayout()); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JSpinner sp = new JSpinner(new SpinnerDateModel(new Date(), null, null, Calendar.DAY_OF_MONTH )); sp.setEditor(new JSpinner.DateEditor(sp, "yyyy/MM/dd")); sp.setUI(new javax.swing.plaf.basic.BasicSpinnerUI()); f.add(sp); JButton b = new JButton("A"); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println(sp.getValue()); } }); f.add(b); f.pack(); f.setVisible(true);
598 名前:594 [2007/06/29(金) 00:47:44 ] >>595 >>596 ありがとうございます(涙 >>597 うわマジありがとうございます(号泣 さっそくやってみます!!
599 名前:529 mailto:sage [2007/06/30(土) 10:08:36 ] 遅レスですが。 >>587 ソースはShift_JISですが、.classファイル中では変換されちゃってNFCなUTF-8の コードで記録されてるんで関係無いっぽいですね。 MacのファイルシステムはNFDでファイル名持ってるけどNFCのファイル名渡されると NFDに変換するみたいなんですが、Java VMのそこら辺の実装にバグがあるっぽいです。 >>591 Windowsは最初っからNFCのファイル名のみを渡されるのが前提で、 NFDのファイル名をNFCに変換する機能とかが無く、NFDの濁点のフォントを持ってないんで 化けるみたいです。 まあ、仕方ないかと。 Appleに報告したら1日で返事が来て追加情報を求められました。 さすがにやばいと思ったんでしょうか。 あと、無理矢理Swingに話を戻すと、JTextComponentはNFCみたいなんで、 自分のアプリではファイル名はNFCで扱い、java.io.Fileを生成するときだけ MacではNFDに変換するようにしました。
600 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 14:12:28 ] クラスファイル内のエンコーディングはUTF-8だったのか
601 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 15:56:39 ] >>600 だからsunのJDKの実装ではReaderのデフォエンコーディングがUTF-8なんだったはず。
602 名前:デフォルトの名無しさん [2007/07/02(月) 17:46:19 ] JFrameから他のJFrameのボタンを押すことって可能でしょうか? 今AとBという画面を作って、Bに検索窓を作って、クリックした内容がAウィンドウのテキストフィールドに反映するように しているのですが、そこからさらにBウィンドウの「確定」ボタンを押すと、Aウインドウでも「確定」ボタンを押したのと同じ状況にしたいのですが…
603 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 18:07:29 ] 普通にそのロジックが入ったメソッドを呼べばいいだけでは? イベントの中ではそのメソッドを呼ぶようにするだけ Swingの中で押したように動作させるという意味ならそのまま命令があるけど、APIマニュアルをよく見てみよう
604 名前:594 mailto:sage [2007/07/03(火) 11:12:10 ] >>597 すいません、spがnullになってしまいます。。。 EclipseでgetJContentPane()に自前で以下のコードを追加したのですが… JSpinner sp = new JSpinner(new SpinnerDateModel()); sp.setUI(new BasicSpinnerUI()); sp.setEditor(new JSpinner.DateEditor(SP_checkDate, "yyyy/MM/dd")) ; jContentPane.add(sp); そして、ボタンを押したときのコードはこれです。 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); Date spData = sdf.parse(SP_checkDate.getValue().toString()); なぜかspがnullになっています。。。
605 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 12:28:07 ] >>604 Swingの前にJavaの勉強した方がいいぞ。 >>597 のコードを、お前のコードにそのまま埋め込んでもダメ。 意味を理解しろ。 JSpinner.DateEditorのコンストラクタの引数は、 setEditorを呼び出すJSpinnerオブジェクトを指定する。 >>604 では、JSpinner.DateEditorのコンストラクタで指定したJSpinnerと setEditorを呼ぶJSpinnerが異なっている。 それと、以前のアドバイスをまるで無視してるな。ちゃんと読んでるか? SpinnerDateModel#getDate()でDate型で取得できると言われたのに 無駄にSimpleDateFormat使ってDate→String→Date変換してるし、 変数名があいかわらず変だったりするし。
606 名前:594 [2007/07/03(火) 13:46:28 ] >>604 変数名の修正が中途半端になっていました・・・すいません。 Date型で取得せずにStringで取得してたりダメダメなので、もう一度出直します…
607 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 14:57:06 ] >>594 がんがれ
608 名前:デフォルトの名無しさん [2007/07/03(火) 17:16:40 ] VisualEditorでのデフォルトのフォントって変更できますか? いつも太字のDialog,12を手動でぽちぽち変更しているのですが…
609 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 18:35:49 ] 実行時だけ素敵になれば良いのであれば >>483 辺りを参照するヨロシ。
610 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 01:14:58 ] commonsのsmtp関連って使っているひといますか? 使おうと思ったけどエンコード思うようにいかなくて javax.mailの方に手を出したら結局そっちだけで用が済んでしまい わざわざcommons使うまでもなかったっていうか・・・
611 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 01:15:44 ] 誤爆しますたスマソ
612 名前:594 [2007/07/04(水) 12:11:32 ] やっと取得できるようになりまいた!! DataModelが必要だったのですね… ちゃんと読んでなくてすいません。ありがとうございます!
613 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 12:12:23 ] >>609 やっぱりVE上でもヨロシくしたかったのですが… VE以外のGUIエディタなら可能?
614 名前:デフォルトの名無しさん [2007/07/04(水) 16:25:33 ] eclipse+swingでGUIをふんふんふん〜って作っていて、 いざエクスポートして、問題なく起動でしたと思ったら、 なぜかDBとの通信に失敗している。 エラー内容をみるとjava.lang.NullPointerException 開発時には普通に実行できたのに、 jarにエクスポートしたらDBと通信できなくなる場合ってあるのでしょうか? JDBCはちゃんとclasspathがあるとこに置いてます
615 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 17:09:10 ] だからその例外が発生している場所をさらさんとダメだとなんど・・・
616 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 17:25:13 ] >>614 Swingというかスレ違いな気がするが、一応回答。 実行可能jarから起動すると、CLASSPATHや-classpathオプションは無視される。 代わりにMANIFEST.MFのClass-Pathエントリに書くこと。 これ以上の助言が欲しかったら、その例外の発生箇所を加えて Java質問・相談スレに行け。
617 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 17:31:57 ] >>616 無視されないよ なにわけのわからんことを・・・
618 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 17:51:03 ] >jarにエクスポートしたらDBと通信できなくなる場合ってあるのでしょうか? ある
619 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 18:18:05 ] クラスが見つからなかったらふつうは、NoClassDefFoundだろ・・・ >>614 eclipse使ってるなら、jarファイルをデバッガ経由で起動してみたら?
620 名前:614 mailto:sage [2007/07/04(水) 18:56:44 ] >>616 いけましたよ!! ギガントありがとう!!
621 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 21:33:41 ] >>617 ttp://java.sun.com/javase/ja/6/docs/ja/technotes/tools/windows/java.html#-jar ドキュメントを読む習慣を付けようぜ。
622 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 21:49:10 ] -jar使うのかよ 普通は使わんし、使うならマニフェストファイルに書くの普通だろ Swingと何も関係ないやんか
623 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:00:11 ] スレ違いではあるが >>622 とことん読まないね。 ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/jar/jarGuide.html >デスクトップ上で JAR ファイルをダブルクリックすれば javaw -jar により JAR ファイルが自動的に実行されます。
624 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:04:36 ] ダブルクリック起動なんて使い物にならんよ オプション設定できないから
625 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 00:43:07 ] Windows Explorerを否定する617=622=624に脱帽
626 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 00:54:08 ] 最近のGUIシェルならむしろダブルクリックで 関連付けされたプログラム実行の方が一般的だろ。 自分を正当化してかみつきたいだけの馬鹿はスルーしとけよ。
627 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 11:41:18 ] >>624 lauch4j
628 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 12:00:32 ] > 625-626は624のいいたいことわかってるのかな