1 名前:テンプレ(1/3) mailto:sage [2009/11/21(土) 17:58:46 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 ttp://pc11.2ch.net/hp/ Webプログラミング ttp://pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド133★★ pc12.2ch.net/test/read.cgi/tech/1253376151/ 次スレは>>950 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 ttp://www.wikiroom.com/java/
692 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:41:35 ] Cヒープとは何をする領域なのでしょうか? こちらは開発上、意識する領域なのですか?
693 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:46:20 ] 誤爆やスレ違いでなかったら、javaのヒープと同じものと言えば分かるかな? newは無いからmallocなどで確保する。
694 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 17:05:56 ] ん?
695 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 17:34:35 ] Class.forNameでロードしたクラスはシステムクラスローダにロードされるのでしょうか? それともVM次第なのでしょうか?
696 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 17:36:43 ] javadocに書いてあるけど > Class.forName("Foo") > これは、次と同じです > Class.forName("Foo", true, this.getClass().getClassLoader())
697 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 17:37:43 ] >>695 java.sun.com/javase/ja/6/docs/ja/api/java/lang/Class.html#forName (java.lang.String) > 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、 > Class オブジェクトを返します。このメソッドを呼び出すことは、次の記述に相当します。 > > Class.forName(className, true, currentLoader) > > ここで、currentLoader は、現在のクラスを定義するクラスローダを示します。
698 名前:669 mailto:sage [2009/12/20(日) 17:50:03 ] >>681 なるほど、他人のソースを読むということですね。 でも私はまだそのレベルに達してないと思いますし、 移動中に読みたいので、やはり本がいいと思っています。 どうぞよろしくお願いします。
699 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 18:08:13 ] オブジェクトをインスタンス化すると確保されるメモリ領域には変数以外何があるんですか? メソッドについては参照が保持されるのですか?
700 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 18:48:43 ] >>698 www.amazon.co.jp/gp/product/4797344512 ぶっちゃけ、Java(やC#)でゲーム作ってるひとって、C/C++でのゲーム作成経験者が大半じゃない?
701 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 19:10:24 ] ワタシイングリッシュヨメマセーン
702 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 19:47:45 ] >>699 まずは人に聞く前に質問できるくらいの勉強はしてこようね
703 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 20:25:29 ] 現在自作のクラスのclone()を実装しようと思って色々やっているのですが、 フィールドにjava.awt.Shape型の変数があり、これのclone()を呼び出したいのですが、 if( shape instanceof RectangularShape ){ ((RectangularShape)shape).clone(); }else if( shape instanceof 〜 ){ 〜 } て感じでif-elseをつなげていくしかないんでしょうか?リフレクション辺りで色々やってみたんですが コンパイルすら通りません。ちょっとお手上げです・・・
704 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 20:48:30 ] HashMapや自作のBeanを簡単にディープコピーする方法はあるのでしょうか? 新たにnewして、値を入れないとダメなのですか?
705 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 20:49:32 ] >>703 Cloneable だけテストすれば済むんじゃないの?
706 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 21:05:45 ] shape = new GeneralPath(shape); とか
707 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 21:09:42 ] >>703 いろいろあるけど直列化と逆直列化をしてコピーするとか?
708 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 21:17:29 ] >>700 ゲームが作りたいのではなくて、Javaが使えるようになるために とっつき易いゲームを選ぼうとしているだけです。 アマゾンでは >javaの本ではなくゲームプログラミングの本なのでこの本でjavaを勉強したいという人にはオススメできません とコメントされているようです・・・。 一度立ち読みでもしてみます。 ありがとうございました。
709 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:11:25 ] Javaのシステムってスレッドを多重化することでパフォーマンスがあがるといいますが、 CPUは数個しかないと思うので、100スレッド多重としてもあまり意味がないと思います。 何多重にすればよいのかは、どういう計算で求めるとよいのですか?
710 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:11:31 ] >>677 それは他言語で実務経験があるとはいわない。 VB.netに手が馴染まなかったのなら、java,c#ともやっても馴染まないだろう。 どの実務があるか知らないけど、最新PCを買ってlinux(virtualpcとかでも)のcでopenglやgtk+をやるといいと思うよ。 javaなら英語のチュートリアルだけど、もし読めないなら5年以上この業界にいるのに英語も読めないのだからもうあきらめた方がいい。
711 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:16:46 ] ベンチマークして求めればいい
712 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:25:17 ] >>709 何かの本にはCPUの数+1くらいと書いてあった
713 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:29:36 ] javaでゲームとか言い出しても実際はjoglだしね。 c#だとdirectxでこれも使う言語に関係ないし。
714 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:48:00 ] >>710 は何で偉そうなの?
715 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:59:27 ] >>703 JavaのCloneableは失敗作 コピーコンストラクタでおk 詳しくはEffective Javaを参照
716 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:04:06 ] 英語すら読めないならjavaなんぞ無理だな
717 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:07:57 ] 海外で暮らしてた俺ならJavaは余裕ってことか?
718 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:11:16 ] アフリカ辺りですか?
719 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:12:40 ] いや。韓国ですOrz
720 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:36:39 ] ・・・
721 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:59:27 ] 英語できるような賢い子がなんで底辺プログラマなんてやってんの?
722 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:02:59 ] でも辞書引きながらでも英語よまないと情報全然足りないじゃん
723 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:04:10 ] アメリカ行けば英語できるのに底辺の仕事やってる奴が掃いて捨てるほどいるぞ。
724 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:05:09 ] 今時、英語も読めないんなら底辺プログラマーすらやってられないのよ。
725 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:06:12 ] その前に日本語勉強して下さい^^;
726 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:07:10 ] >>718 イギリスです
727 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:14:26 ] >>724 で、英語も出来て月給はいくらもらえるんですか?
728 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:25:53 ] >>699 メソッドはクラスがロードされる時だろうね。
729 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:46:37 ] >>708 ゲームって(もちろんものによるけど)結構特殊なので、Javaを学ぶ目的には あまり適してないと思うんだけどね。 例えばゲームループって呼ばれる手法、WindowsSDKを生で使う場合には 普通にGUIのアプリを作るにも似たようなことするんだけど、 Javaで同じことする場合にはライブラリが隠蔽してくれてるので気にする必要なかったりとか。 で、入門書にはそういうゲームに特化したテクニックはあまり書いてないだろうし、 普通のJavaの使い方はそれとは別に覚える必要があると思うし。
730 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:54:40 ] >>704 CommonsのLangにそういうのあるみたいね。使った事ないけど。 commons.apache.org/lang/api-release/org/apache/commons/lang/SerializationUtils.html#clone (java.io.Serializable)
731 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:56:49 ] ゲームってのは、言語+英語+数学がある程度できないと無理。 javaとかc#とかライブラリ的なところはあまり重要でない。
732 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:58:29 ] 何故英語?
733 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:02:53 ] 英語英語言う奴とコミュ力コミュ力という奴の中身はだいたい同じ
734 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:02:56 ] ゲームのテクはほとんど英語で書いてある。 実際は、業務アプリの数十倍の努力が必要。
735 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:10:22 ] まあ、英語に比べれば Java なんて 1000倍易しいな。 で、Java に馴れるには、まずは List や Map をごちゃごちゃとこねくり回すような題材がいいな。
736 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:14:14 ] で、数十倍の努力してお幾ら稼いでるんですかね。
737 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:15:09 ] 海外のサイトから情報が汲み取れないバカのためにここがある
738 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:15:15 ] Javaはチュートリアル(英語)で挫折するかどうかだろ。 それで挫折するようなら見込みないし素直にC#(かVB)にしろ。
739 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:18:08 ] 英語英語言ってる奴が日本語読めない事はわかった
740 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:19:18 ] オブジェクト指向の本はJAVAの方が揃っているから JAVAのほうがいいと思う
741 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:20:58 ] 低学歴+底辺無能+日本人は、C#(マイクロソフト)を使ってIT土方として一生汗を流してればよろし。
742 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:22:36 ] 僻みっぽいスレだな
743 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:30:13 ] >>741 在日乙
744 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:37:11 ] >>741 みたいな奴って、どの板にもいるね ゴキブリみたいにいっぱい繁殖してるの?
745 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 02:08:16 ] >>705 すみません。よくわかりません。 Object型にキャストしたところでObject#cloneはprotectedだし、なんらかのcloneを呼べる型にしないとダメなのでは >>707 それも同等の問題でできあませんね >>706 Shapeならそれで済みますね。new Area(Shape型)で >>715 失敗作ですか・・・今回のディープコピーでの手こずりでJavaをちょっと嫌いになりました。好きだったのに・・・ 皆さんありがとうございました。 結局今回は、インスタンスの型がある程度絞られていたのでめんどかったけど、>>703 の方法で実装しました。
746 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 02:11:09 ] >>744 ゴキブリにはコンバットがよく効く コンバット置いてから俺の部屋でゴキブリを見たことがない
747 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 02:58:46 ] >>715 見てEffectiveJava読み直したんだけど、コンパイル時に型が決まってないと駄目だとか protectedだからリフレクションで云々とか、正に>>703 が直面してる問題がそのものだね。 ちなみにリフレクション使うんだったらやりたいことはこうかな? Method method = Object.class.getDeclaredMethod("clone", new Class[] {}); method.setAccessible(true); Shape cloned = (Shape) method.invoke(shape, new Object[]{});
748 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 03:45:21 ] PHPでは $className = "Foo"; $obj = new $className(); とするとFooインスタンスを作成することができるのですが Javaで同じようなことをしたい場合どうしたらいいのでしょう? String className = "Foo"; Foo obj = new className(); //これでは当然無理です
749 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 04:26:42 ] String className = "Foo"; でString型の"Foo"という文字列を持ったインスタンスが生成される んだけどPHP知らないからすごい別次元臭がする
750 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 05:38:41 ] >>748 Class.forName("Foo").newInstance();
751 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 06:14:37 ] www.klab.ai.kyutech.ac.jp/~yatti/sunspot/index.php?%E5%8A%A0%E9%80%9F%E5%BA%A6%E3%82%BB%E3%83%B3%E3%82%B5%E3%82%92%E4%BD%BF%E3%81%86 こっちのSunSpotの加速度センサのプログラムを少し変えたのですが、うまく動きません。 Stateクラス、 public class State { int state = 5; public void setState(int state){ this.state = state; } public void callState(){ //このstateが1と0になり続ける状態を作りたい… System.out.println("come :"+state); } } を作って、LEDが点灯している、していない状態を管理したいのです。 ↑のWikiのLEDFlash.javaの public void thresholdExceeded(IAccelerometer3D accel, int axis, double val, boolean relative) { //閾値より高い値ならばLEDを青色に点滅させる 以降のif文の前者がLEDを点灯させる、else以降がLEDを消灯させるプログラムです。 これは閾値を超えた時だけ呼び出されます。 このifの点灯させる所にst.setState(1);消灯させる所にst.setState(0);を書いても、超えてる時はちゃんと1と0になってるんですが、 放置したら(閾値を超えてない状態)デフォルトの数値のままになってしまいます。(つまり5) 確認はAccelerometerTest.javaクラスの加速度の測定をしているスレッドでst.callState();をして確認をしています。 AccelerometerTest.java、LEDFlash.java、どちらのクラスでもState st = new State(); と書いてるのがマズいんでしょうか…だとしたらどうしたら良いんでしょうか?
752 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 07:04:47 ] 2000年頃から英語やれって云う人はいた。 ttp://piza.2ch.net/test/read.cgi/tech/971960169/132 今は入門書もあり出版や校正する人以外はどうでもいいかな。 >>751 のような制御は知らん。
753 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 07:24:46 ] >>750 すげー
754 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 09:13:30 ] 基本の演算処理ですけど int a =5; int b =12が宣言されているのですが (a<=b),(a<b)&(a>b),(b%a),(a!=b),(++a)*bの実行結果を求めたいのです。
755 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 09:50:29 ] 勝手に求めてくださいよそのの程度
756 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 12:36:14 ] >>751 > 放置したら(閾値を超えてない状態)デフォルトの数値のままになってしまいます。(つまり5) つまり放置しなければいい もしくは放置したことを感知できればいい やりかたはしらない
757 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 12:45:10 ] >>751 わかったかな?
758 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 13:21:14 ] >>751 wikiじゃなくて発売元に聞いてサポート受けたら?
759 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 13:55:00 ] >>751 コンストラクタで現在の状態(0か1)を初期値として与える必要があるんじゃないの? 言葉通りしきい値超えないとコールバックされないんでしょ
760 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 14:02:55 ] >>751 もしも〜し
761 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 14:05:21 ] > thresholdExceededメソッド > 加速度センサが閾値を超えたときに呼ばれるメソッド. ってあるからStateの初期値は閾値を超えてない状態を与える必要があるのでは。 てか5って何か意味あるの?
762 名前:デフォルトの名無しさん [2009/12/21(月) 18:43:44 ] >>751 どうなの?
763 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 18:56:53 ] ここってサーブレットの話題とかでもおkですか?
764 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 19:01:57 ] ばっちこーい
765 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 19:03:59 ] ぬふぅ
766 名前:デフォルトの名無しさん [2009/12/21(月) 19:06:44 ] >>679 ほとんど英語のドキュメントとチュートリアルで覚えましたね
767 名前:デフォルトの名無しさん [2009/12/21(月) 19:07:46 ] >>763 OK 専門分野にしてる人多いです
768 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 19:09:29 ] EE6のCDIについて草案ではなく、リリース状態の仕様でチュートリアルを書いてるサイトはないですか?
769 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 00:15:43 ] 引数に「Hoge.class」とClassを渡す事がありますが 何に使っているんですかね? 型の比較?
770 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 00:32:00 ] >>769 ・インスタンス化を遅延。(newInstance/getConstructor) ・リフレクションで動的にメソッドを呼び出し/フィールドアクセス。(getMethod/getField) ・クラスオブジェクトをキーにしてファクトリを選択。(Mapで対応付け) ・クラス名やパッケージ名を文字列でげっと。 とかかな。割と頻繁に使ってる。
771 名前:デフォルトの名無しさん [2009/12/22(火) 01:58:09 ] >>746
772 名前:769 mailto:sage [2009/12/22(火) 09:59:47 ] >>770 thx
773 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 10:21:29 ] javax.accessibilityって何をやるクラスなんですかね? javadocを読んでもパッと来ないんですが
774 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 11:17:19 ] 目が見えない人用のスクリーンリ−ダーとか点字ディスプレイとか音声入力とかなんかそういう類の 詳しくは知らん
775 名前:172 mailto:sage [2009/12/22(火) 11:35:57 ] >>773 私も初めて見たのですが。 普通アクセシビリティっていうと、障害者の操作補助とかそういうイメージ。 目の見えない人のための音声読み上げ機能とか。 普段画面で行う入出力(テキストを読む、リンクをクリックする、みたいな)を 別の手段で提供するための標準化インタフェースだったりヘルパクラスだったりする、のかな? mediacast.sun.com/users/akihito/media/Java_Accessibility.pdf に日本語の資料ありますね。
776 名前:773 mailto:sage [2009/12/22(火) 12:04:26 ] AccessibleContextってクラスがあるんですが、このクラスが属しているパッケージなので気になりました JLabel#setText()を読んでいたらAccessibleContextが出てきたのですが、さっぱりわかりませんでした このインスタンスはJComponentのフィールドにprotectedで宣言されています
777 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 14:18:10 ] 障害者用の補助装置をjavaから制御する場合の話だからそういう開発者以外関係ない。 AWTに口だけ公開しときますよって話だと思えばいい。
778 名前:デフォルトの名無しさん [2009/12/22(火) 15:37:36 ] >>746
779 名前:デフォルトの名無しさん [2009/12/23(水) 00:46:54 ] java.awt.DesktopでDesktop.getDesktop().browse(homePageUrl);を使いたいのですが、 java.netURIにおいて、String型のテキストをURL型もしくはURI型に 追加するには何を使えばいいのでしょうか? homepage.jp/ というURI型のものに、 abcd というString型の文字列を変換したものをくっつけて、 homepage.jp/abcd という表示をbrowse(homePageUrl)で行いたいのです。 そのString型→URI型の変換でつまづいています…。 よろしくお願いします。
780 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:58:26 ] 普通に new URL(filename+"abcd"); でムリ?
781 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 02:39:06 ] URI クラスの resolve(String) を使うのかな?多分
782 名前:デフォルトの名無しさん [2009/12/23(水) 09:36:34 ] terai.xrea.jp/Swing/MidiSystem.html 同じPCでこれが鳴る場合と鳴らない場合があるんですが...
783 名前:デフォルトの名無しさん [2009/12/23(水) 10:05:50 ] >>780 ムリみたいです…。 >>781
784 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 10:56:57 ] >>779 URI a = new URI("www.google.co.jp/ "); URI b = new URI(a + "search?q=java"); Desktop.getDesktop().browse(b); ふつうにいけないか?
785 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 11:11:14 ] >>779 URI uri = new URI("homepage.jp/ "); URI newuri = new URI(uri.getScheme(),uri.getHost(),"/abcd",uri.getFragment()); System.out.println(newuri.toString()); という意味?
786 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 12:12:14 ] ( ^ω^)大量
787 名前:デフォルトの名無しさん [2009/12/23(水) 16:38:55 ] >>779 ですが、 お答えくださってありがとうございました。 >>781 さんのヒントから色々探してみました。 URL型でURL取得するのでURL取得→.toURI→.resolve(string)で解決できました! resolveだけに…w どうもありがとうございました^^
788 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 23:20:55 ] いくつかの重い処理をするにあたって、割り込みするコードについて質問です。 現在では、Threadのrunメソッドで、 try{ 重い処理1 if(interrupted())throw new InterruptedException(); 重い処理2 if(interrupted())throw new InterruptedException(); 重い処理3 } catch (InterruptedException e){ } という感じにしているんですが、結局ジャンプ処理なので汚いコードだと感じています。 こういう場合にはどうするべきでしょうか? よろしくお願いします。
789 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 23:59:05 ] JComponent#setOpaque()のソース public void setOpaque(boolean isOpaque) { boolean oldValue = getFlag(IS_OPAQUE); setFlag(IS_OPAQUE, isOpaque); setFlag(OPAQUE_SET, true); firePropertyChange("opaque", oldValue, isOpaque); } なんで、firePropertyChange("opaque", oldValue, isOpaque);と書く必要があるのですか? firePropetyChange()でイベントを発生させなくても、普通にメソッドを呼び出した方が楽じゃないですか
790 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 00:14:04 ] うん? addPropertyChangeListenerで登録されたリスナ全員にプロパティの変化を伝えなきゃいけないからでは? 普通にって、何のメソッドを呼ぶの?
791 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 01:30:41 ] >>782 ローカルにjar保存してコマンドプロンプトから実行してみれば? 例外とか出てるの見れば理由わかるのでは。 >>788 自分だったらコマンドパターン適用するかも。 重い処理Xをそれぞれ別クラスにして、それらの共通スーパクラスで重い処理メソッド呼んでその後中断判定する。
792 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 02:27:31 ] アクセス修飾詞なんですけど、どういう状況で使い分けたらいいかわかりません 教えてください