1 名前:デフォルトの名無しさん [2008/03/01(土) 18:16:51 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/ これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、 wikiからのリンクをおたどりください。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド112【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1202467704/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝のう存じます。 次スレは>>980 あたりで。
321 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 22:06:09 ] スレッドを止める方法(破棄する)ってどうしたらいいですか? 「ボタンAを押すと画像を動かし始め(スレッドを開始)、ボタンBを押した時に画像を止め(スレッドを止める)、 またAを押すと画像は動き始める」っていうものなんですが・・・ Interrupt()を使ってもとまらないしsleep()を使うとボタンが押せなくなるんです…
322 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 22:16:04 ] >>281 私もUpdate4にした頃からアプレットが固まるようになったけど、 別スレで、 コントロールパネル > Java の Javaコントロールパネル から 基本 > ネットワーク設定 の ネットワークプロキシ設定を 直接接続 に変更しろ ってあったのをみて 試したら動作するようになったよ
323 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 22:16:31 ] >>320 -jarオプションを付けると、オプション-classpathや環境変数CLASSPATHは無視され、 MANIFESTファイルのClass-Path属性に記述されたもののみが有効になる。 ちゃんとMANIFESTファイル書け。
324 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 22:40:57 ] >>321 sleep を使うとボタンを押せなくなるようなスレッドを止めたいのなら、 アプリケーションを終了させると止まるヨ
325 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 23:01:24 ] >>323 MANIFESTって外部のJarも書けるのは初めて知りました。 おかげで無事動作しました。サンクスです。これで家に帰れます orz
326 名前:283 mailto:sage [2008/03/08(土) 23:43:32 ] お世話になります。 283なのです。 >284 ありがとうございます。 あるということで、、今日一日探してみたのですが、見つけられませんでした。 私の持っている本には見つからず、Webページでは、記述のある場所を見つけられませんでした。 Webページで参考になる場所を教えてもらえませんか。
327 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 00:03:06 ] >>326 java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.8.4 要は、クラス名.this と書く。
328 名前:デフォルトの名無しさん [2008/03/09(日) 00:04:55 ] >>326 仕様にズバリ載ってるだろうが・・・
329 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 00:06:07 ] あ、thisの話じゃなかった。
330 名前:283=326 mailto:sage [2008/03/09(日) 15:36:43 ] >327 ありがとうございます 確認できました。 教科書とか、入門レベルの本には載ってないのですね…。 >328 仕様書読んだことありませんでした。 参考書に沿って勉強していて気になっていた感じでした。 >329 =327ですよね? いえ、thisの話が知りたかったのです。 Class2のaを見たいのではなくて、 最終的には、Class2 のインスタンスそのものを見たかったので、Class2.thisですね。 これが最も知りたかったことです。 ありがとうございます。
331 名前:デフォルトの名無しさん [2008/03/09(日) 17:52:45 ] java.lang.*; はimportしなくても初めからされているのはなぜですか? importするときはどんなときですか? String s="うんこ" みたいなふうなようなことを自作するにはどうやりますか? おねがいします。
332 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:56:21 ] >はimportしなくても初めからされているのはなぜですか? その方がべんりだから >importするときはどんなときですか? java.lang以外のとき >みたいなふうなようなことを自作するにはどうやりますか? できません
333 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:59:50 ] >>332 ありがとうございました。 最終結論としてjava.langをimportするときはありえないという理解で よろしいでしょうか?
334 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:43:12 ] 書いてもいいけど無駄ではある。 どのクラスを使っているか明示するために*なしで1個1個のjava.lang以下の クラスをインポート宣言する流儀はありえる。
335 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:45:31 ] インスタンス化するときの、 フィールドを定数で初期化する方法として、 1 クラスの記述のときに、フィールド宣言と同時に初期化の値を記述してしまう方法と、 2 コンストラクタで実行させる、 方法をとれるみたいですが、 1の方法はとらない方がいい、といった考え方はありますか? (1の後に2が実行されるようで、1を2で上書きできることは確認してみました。) どのコンストラクタでも同じことをしたいならば、便利だと思ったのですが、 初期化はコンストラクタでやるべきかなとも、思いました。 こういった考え方をいろいろ教えているサイトってありませんか?
336 名前:デフォルトの名無しさん [2008/03/09(日) 18:57:18 ] テストについて質問です。 例えば Class A{ A(){ methodA(); } public methodA(){}; } のようなクラスをテストするとします。 methodAをテストする前にインスタンスが作られますが、 そこではテストしていないmethodAが発動します。 この問題はどうすれば解決しますか?
337 名前:デフォルトの名無しさん [2008/03/09(日) 19:11:58 ] java sound apiがダウンロードするばしょが見つかりません 日本語マニュアルつきでおねがいします。
338 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:44:26 ] >>336 Javaでおk
339 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:48:32 ] >335 ケースバイケース 可読性を考えるとフィールドの宣言と同時に初期化する方がいいかもしれない また、初期化忘れも気づきやすい コンストラクタはあくまでインスタンスの初期化の最後のプロセスと考えるといいかもしれない。 他にも(非staticな)イニシャライザで初期化する方法もある private int num; { num = 10; } のような感じ これはほとんど使わないけど
340 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:49:21 ] >336 methodAがpublicである事がバグの一種
341 名前:デフォルトの名無しさん [2008/03/09(日) 20:05:25 ] java.sun.com/j2se/1.5.0/ja/docs/ja/guide/sound/programmer_guide/contents.html を圧縮形式でダウンロードできるホームページをおしえてください
342 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:12:15 ] >>331 おまえには import *; が似合ってる
343 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:29:18 ] >>340 privateでもいいですけど。 では解決策があるんですか?
344 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:06:23 ] java soundってコアに入ってから関連ドキュメントもJDKに含まれなかったか?
345 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:20:41 ] >>342 Javaのパッケージを理解してから出直してこい
346 名前:デフォルトの名無しさん [2008/03/09(日) 22:00:07 ] 72.5.124.55/javase/ja/6/docs/ja/ のホームページと同じ、avasdkがダウンロードできるところに あるダウンロードできるドキュメントのページが、vistaのIEで開くと空白になって 何もみえないんですけど。 解決方法おしえてください。
347 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 22:06:58 ] >>341 ttp://java.sun.com/j2se/1.5.0/ja/download.html [J2SE 5.0 ドキュメント] -> [ダウンロード] (一式全部有るけど) >>343 何のためにテストを行うのか。 インスタンスを生成した後、一度も呼ばれていないメソッドを呼ぶテスト? 何が起きても起こり得ない状況をテストするの? それらはテストをする価値があるの?
348 名前:342 mailto:sage [2008/03/09(日) 22:27:13 ] >345 いいですけどって何様? コンストラクタで呼ばれるメソッドは原則としてコンストラクタの一部 言い換えれば初期化処理の一部であって、インスタンスの生成が完了する前に実行される特殊なメソッド これをprivate以外にするとオーバーライド時など予期せぬ問題を生じる可能性がある で、テストする内容はインスタンスの生成で何か問題あるのか? そのメソッドが単体でテストしなければならないほどのロジックを含むというならば、別クラスに抽出するべきだろう
349 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 22:39:06 ] import *; import *; import *; ・・・プ
350 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 23:49:26 ] >>348 オーバーライドされて困るからprivateにするってどんだけー それなら普通finalメソッドにするもんじゃないのか? import *;といい少しjavaの復習をしたほうがいいかと。
351 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 23:54:33 ] swingのJTabbedPaneについて教えてください。 JTabbedPaneのインスタンスに、addTabすると、 タブが追加されます。タブのインデックス(題名がついているところ)に、 MouseListenerを設置して、クリックを検出したいのですが、 できません。 どなたか、私に助言くださいませんか。
352 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 00:26:04 ] >>351 タブ選択は ChangeListener で検出します。 マウスの位置はどうなんだろう…
353 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:25:51 ] >>350 いや、コンストラクタから呼ばれるメソッドはprivateにするのは常識だと思うぞ finalでもいいがコンストラクタに関してもう少し勉強した方がいいのはお前かと
354 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:52:08 ] >>351 JTabbedPaneにMouseListenerをaddして、 そのリスナのmouseClickedメソッドでJTabbedPane#indexAtLocation(int,int)に、 MouseEventのx,y座標を渡せば、 タブ部分をクリックした時は選択したタブに合わせて0以上の値が、 タブ部分以外の場合は-1が返ることで区別ができると思う。
355 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:56:37 ] 350の言うことなんざどうでもいいよ バカはバカを呼ぶっていうしな それよりimport *;についてkwsk
356 名前:デフォルトの名無しさん [2008/03/10(月) 09:23:12 ] オートボクシングを自分でつくることはできますか?
357 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 09:26:53 ] eclipseで自動で色々なメソッドのjunitテストを作って 勝手に作られたテストメソッドを削除したり増やしたりしても もんだいありませんか?
358 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 10:02:04 ] 勝手に作って勝手に削除しても何の問題もないだろ
359 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 10:07:18 ] >>356 無理。コンパイラの自動補完機能です。
360 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 10:16:59 ] >>356 つられて見るが、何をボクシングしたいんだ?
361 名前:デフォルトの名無しさん [2008/03/10(月) 11:20:01 ] javaで2進数を表すにはどうしたらいいですか?
362 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 11:22:24 ] 表すの意味をはっきり
363 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 11:23:16 ] 無理っす。 int binNum = Integer.parseInt("10110001",2); これで我慢だー
364 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 11:28:05 ] binNum ビンナム ジョンイルみたいなノリでワロス
365 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 15:00:51 ] >>361 2進数表記の整数リテラルを所望ってことならJavaには無い 8、10、16進数表記しかない
366 名前:デフォルトの名無しさん [2008/03/10(月) 16:52:14 ] Javaの格言という本を買ってきました。 読んだ事ある人いますか?
367 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 17:10:03 ] それを尋ねることの意味が分からん。 せっかく買ってきたのなら読んで自分で評価、判断すればいい。
368 名前:デフォルトの名無しさん [2008/03/10(月) 17:42:04 ] Javaで音声認識やってる人居る? Java SAPIってのが一応用意されてるみたいんなんだけど、 これって日本語対応してますか?
369 名前:デフォルトの名無しさん [2008/03/10(月) 18:50:57 ] 質問です。 他言語(例えばC++)等で作成したプログラムを、Javaのソース内で呼び出して利用する事は可能ですか?
370 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 18:56:05 ] >>369 JNIでぐぐるといいよ
371 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 19:14:36 ] >>369 可能だけど呼び出しのオーバヘッドがあるから速度的な恩恵は少ないよ 今はネイティブのCと比べても遜色がないくらいJavaVMのパフォーマンスはいい
372 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 19:26:02 ] なんで唐突に速度的な理由が前提になってんだ。
373 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 19:46:01 ] 実はRuntime#execやProcessBuilder#startで済む問題だったというオチ
374 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 21:18:59 ] import *; についての解説マダー(AA略
375 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 23:17:25 ] >>374 import *; public class Sample{ public static void main(String[] args) { } } これコンパイルしてみれば分かるだろ
376 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 23:20:28 ] >>374 お前バカだな 阿部さんのケツをインポートするんだよ そうするとお前もイイ男になるぞ
377 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 00:41:17 ] HDDの容量を取得したいのですがどうすればよいのでしょうか? JAVAのAPIを探してみたのですが,わからなかったです.
378 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 00:46:44 ] >>377 ttp://java.sun.com/javase/ja/6/docs/ja/api/java/io/File.html#getTotalSpace()
379 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 07:40:54 ] >375 先生!コンパイルに失敗します>< 結局342は何が言いたかったのか分かりません><
380 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 09:20:41 ] >>379 >>376
381 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 09:43:03 ] ケツにインサートならまだわかるがケツをインポートはわからん
382 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 11:42:50 ] import *; で全部インポートできると思っていたんだろ、多分 可哀想な人なんだよ、多分
383 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 12:46:51 ] >>379 C言語とかを勉強するとコンパイル時にエラーが出てくれるありがたみがよく分かるから一度勉強してみるのもいいかも。
384 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 13:32:27 ] >>383 も可哀想な人でおk? >>342 >>345 >>348 >>349 >>355 >>374 >>375 >>379 >>382
385 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 17:33:10 ] からかわれてるとも知らずかわいい子。ウフッ。
386 名前:デフォルトの名無しさん [2008/03/11(火) 17:59:24 ] jmockのコードでみたんですが context.checking(new Expectations() {{ ごにょごにょ }}); ↑の2重波括弧ってどういう意味ですか?
387 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 18:03:38 ] >>386 インスタンスイニシャライザ
388 名前:386 mailto:sage [2008/03/11(火) 18:20:03 ] >>387 ありがとうございます。ぐぐってみます。
389 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 19:01:16 ] コンストラクタ書けないからね でも書き方は悪いわ context.checking(new Expectations() { { // 初期化処理 } }); とでも書けば解りやすいのに
390 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 19:18:25 ] 結構良く見かける書き方だけどなー
391 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 20:59:23 ] staticイニシャライザはよく見るけどインスタンスイニシャライザって内部クラスでしか見ないんだけど。
392 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:30:57 ] Vector.insertElementAt は、Vectorの要素数が多いほど遅くなるのでしょうか? 実験してみたところ 要素数が増えるほど一回のinsertにかかる時間が増えているようなのですが... Vectorの初期化のときに、 new Vector(1000000,1000000) などやっても少しぐらいしか改善しません。 insertElementAtで挿入する番号は先頭から終端までほぼ平均的に選ばれるようなプログラムです。 この insert にかかる時間を増加させない方法はないでしょうか?
393 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:42:52 ] Vector(とArrayList)は中に配列持ってるだけだから、 途中に挿入すると後ろの要素を全部1つずつずらす必要がある。 これはコンストラクタで大きなキャパを指定しても同じこと。 LinkedListなら要素を数珠繋ぎで持っているため、途中に挿入する場合も 数珠繋ぎの付け替えだけで出来る。しかし、挿入のたびに挿入位置を毎回 先頭からたどる必要がある。一応試してみたらどうだろうか。 Vectorは古いっちゃ古いし。 番号が疎なら整数をキーにしたMapを使うほうがいいかもしれない。
394 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:44:32 ] >>392 > 要素数が増えるほど一回のinsertにかかる時間が増えているようなのですが... insert する要素以降を全部一個ずらしてくから 要素数が増えるほど時間がかかるのは当然。 LinkedList#listIterator(int) 使って要素追加してくとか、 ArrayList#addAll(int, Collection) で一気に追加するとか、 いっその事 Map<Integer, E> してみるとか。
395 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:55:52 ] そもそも1,000,000レコードをオンメモリで扱うのもどうかと思うが・・・
396 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 23:41:15 ] >>395 1レコード1KBでも1GBじゃん。32bitのメモリ空間埋めるのに、 1万円でおつりが出る時代なんだから、気にしないと言うのも それはそれでアリかとw
397 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 23:57:28 ] 容量の問題じゃなく速度の話だとw
398 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 00:50:48 ] それもそうだが、大量データの処理は専用のソフトウェアに任せろという意味だろ Oracleのオンメモリストレージ使って100万件オンメモリとかならばOKな時代だがJavaのヒープでそれをやるってのはアホ
399 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 01:02:31 ] ヒープ領域使い果たしてJVMがクラッシュしたら速度とか言ってる場合じゃないしなw 5万ぐらいなら余裕だが100万レコードともなるとまず逝きますw
400 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 08:36:07 ] >>384 C言語は、javaに比べれば投げっぱなし感が強いんじゃない?
401 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 12:23:09 ] >>400 Rubyとかを勉強すると〜なら分かるんだけどな。 なんでC言語を持ち出すのかが全く分からない。
402 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 12:28:36 ] それ以前に投げっぱなしという表現が意味不明
403 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 12:40:23 ] Rubyは麻薬だな。 でも遅すぎて死ぬ。
404 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 15:36:21 ] ここってJava3Dの話もしていい?
405 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 17:18:46 ] スレタイが初質だから初質っぽいことならいいんだろうけどJava3D使ってる人居るの? 俺はJOGL派なんだけど。
406 名前:404 mailto:sage [2008/03/12(水) 18:16:38 ] 今ちょうど両方つまみぐいしてる所で、Java3Dメインにしようかと検討中。 JOGLの頂点配列並な性能はあるし上位なAPIあるから楽かなと。 質問は質問文まとめてる内に自己解決した、ごめん。
407 名前:デフォルトの名無しさん [2008/03/13(木) 01:35:19 ] |:: \おい、ゴルァ 出て来い!! ドッカン ゴガギーン :||::  ̄ ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ _m ドッカン ☆ :||:: ___ ======) ))_____ / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ :|| | | | ̄.ミ∧_∧ | | ────┐||:: ∧_∧ < おらっ!>>1 出てこい!! :|| |ぁゎゎ. | |_..( ) | | .___ │||:: (´Д` ) \___________ :|| |Д`); | |_「 ⌒ ̄ ,|.. |_... ..||||:: / 「 \ :|| |⊂ノ; | |_| ,/  ̄ .  ̄ ̄ ̄ │||:: | | /\ \ :||:  ̄ ̄ ̄  ̄| .| :||│ ;, │||; へ//| | | . | :||:: :; ; ,, :| :.| ||│ (\/,.へ \| | (r ) :||:: :; 冫、. . | .i .|:||◎ニニニニ\/ \ |  ̄ :||.:,,''; ` .. . :: . | ∧. |:||│::::/ │||::.:. .Y ./ :||:;;;: : | | | |.||│ 冫、 ;;;,,│||:;;;. | .| :||:;;;: / / / /::||│ ` .,;;;,,.│||:;;;. | .| :||;::: # ..: ./ / ./ ./ ||│|三三三|. │||;;:..:: | .| :||;::: #. ..: :::::: (_) .(_).ミ||│ │||;;;k、,,,|,(_)  ̄ ̄ ̄ ̄ ̄: ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ :::;三三;;;;;三三:::;;;;;;; :::::;;;;;::;;;;;;;;;;::::;; :::::;;;;;:::::;;;;;;;;;;::::;; :::::;;;;;:::;;;;;;;;;;::::;;;;;::三三三
408 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 10:12:53 ] Derbyを組み込みモードで使ってるんだけど、 動作中にJavaの外からDBのテーブルの状態を調べる方法ってないの?
409 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 13:11:37 ] VC++でDirectXつかって高度なお絵かきができますが、 Javaでも出来ますか? たとえばコサックスみたいなやたら人がでてくる戦国シミュレーションゲーム作れます?
410 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 13:30:38 ] >409 やろうと思えば出来るんじゃね? DirectXのパフォーマンスと比べれば程遠いモノが出来るが。
411 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 13:41:38 ] JMonkeyEngineってのがある
412 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 14:42:43 ] クラスの停止について質問です。 今ゲームを作っていて、オープニング画面とゲーム画面の2つをつくりました。 まずオープニングをJFrameに表示、その後キーボード入力でオープニング画面を消してから ゲーム画面を表示するという構想で進めてます。 そこでオープニング画面のクラスを停止させたいのですが、やり方がわかりませんでした。 そもそも一度実行したクラスを停止させること自体無理なのでしょうか?
413 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 14:44:28 ] クラスを停止?何言ってるんだ
414 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 14:47:12 ] クラスの停止とか、色々と勘違いしていると思うが・・・ 後で再描画するならばsetVisible(false)で非表示にする 二度と表示しないならばdispose() で破棄する
415 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 14:51:44 ] JPanelを2つ作って、片方を表示させた後、同じ場所にもう一方のJPanelをすり替えて表示させたいです。 今表示しているJPanelを消す=JPanelを継承しているクラスを停止させるという表現しかできませんでした。
416 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 14:53:14 ] JFrame の GUI に今あるアプレットが使えると思ってはめ込んでみたんだけど どうもドロップダウンしたメニューがアプレットの後ろに描画されてしまう様子。 アプレットは JRootPane を使っているはずだがこれが原因?
417 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 14:53:42 ] >>414 ありがとうございます。 さっそくやってみます。
418 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 14:57:46 ] それをJPanelの交換により行うってのはどうなんだろう。 JPanelを継承した、例えばExJPanelに画面の状態を表すオブジェクトを保持させてればいいんじゃね? public final class ExJPanel extends JPanel { private Mode mode = new StartMode(); public void paint(Graphics g) { mode.paint(g); mode = mode.nextMode(); } } public interface Mode { void paint(Graphics g); Mode nextMode(); } みたいな
419 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 15:16:03 ] >>412 CardLayout使えば?
420 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 15:24:18 ] >>418 JPanelの継承やってみます。ありがとうございます。 >>419 cardLayoutも調べているうちに見つけたのですが、脳みそが足らないばかりに うまくいきませんでした。教えて下さったのにすいません。
421 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 15:29:18 ] まあ、Swingは最初は覚えること多いから仕方ない. ゲームのオープニング画面みたいな起動画面であれば、すぐに表示するべきだから、別JPanelでいいと思う。 画面を出している間に、ゲーム用のコンポーネントを裏側で作るってのは正しいしね。 俺は乗せ換えでいいと思うよ。 1.JFrameにメインのコンポーネントを乗せる。 2.メインコンポーネントに、タイトル画面コンポーネントを設定して描画 3. スタートボタンなどが押されたらメインフレームからタイトルコンポーネントを抜いて差し替える