1 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 17:52:10 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド115【歓迎】 pc11.2ch.net/test/read.cgi/tech/1210529127/ 次スレは>>990 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
641 名前:使用書無しさん [2008/06/26(木) 23:00:45 ] netBeansとかいまどきのIDE使ったら自動補完してくれるので、後々の読みやすさ 考えたら略さないほうがいいと思うけど。
642 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 23:18:47 ] >>639 略し方すらわからなくて人に聞かなきゃいけないレベルなら略さない方が良いと思うぞ。 無意識のうちに>>639 が望む回答するように情報隠してる可能性もあるし。 例えば、命名規約のルールだって全部出してるわけじゃないでしょ。
643 名前:使用書無しさん [2008/06/26(木) 23:22:59 ] 634<< 配列よりVectorつかったらどうだ。 class A { public B parent=null; public void setParent(B parent){ this.parent=parent; } public B getParent(){ return parent; } } class B extends Vector<A>{ @override public void add( A child){ child.setParent(this); super.add(child); } public void add(int index,A child){ child.setParent(this); super.add(index,child); } } こんなもんかな。
644 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 23:43:35 ] >>639 長すぎるってのはクラスの設計が良くない兆候。 aaaaaBbbbbCcccccDdddd というメソッドが HogeManagerとかにあるんだろ、どうせ。 HogeAaaaBbbbクラスをつくり、ccccDdddってメソッドを作るような状況な筈
645 名前:デフォルトの名無しさん [2008/06/27(金) 00:05:06 ] >>624 ファイルからのデータの読み取りにはcsv形式が便利(基本)。(「1,2」とか書いてtest.csvを準備。) 以下はCSVテキスト上で同じ行にある数値の合計を順次算出して別ファイルに集計する例 package javaapplication2; import java.io.*; import java.util.*; public class Load { public static void main(String[] args) { //データ格納用Listの準備 List<String[]> list = new ArrayList<String[]>(); try { FileReader fr =new FileReader("test.csv"); BufferedReader bf = new BufferedReader(fr); String st = null; while ((st = bf.readLine()) != null) { String[] line = st.split(","); list.add(line);//ファイル上1行の各数値を文字列として格納 } bf.close();
646 名前:デフォルトの名無しさん [2008/06/27(金) 00:05:38 ] //計算結果データ格納用Listの準備 List<Integer> result = new ArrayList<Integer>(); int sum = 0; for(String[] values: list){ for(String value: values){ int num = Integer.parseInt(value);//文字列を数値型に変換 sum += num;//同じ配列内の値の合計値を求める } System.out.println(sum); result.add(sum);//合計値を格納 sum = 0; } FileWriter fw = new FileWriter("result.csv"); PrintWriter pw = new PrintWriter(new BufferedWriter(fw)); for(Integer val: result){ pw.println(val); } pw.close(); }catch(IOException e) { e.printStackTrace(); } } }
647 名前:639 mailto:sage [2008/06/27(金) 00:11:41 ] レスどうもです。 今iアプリを作成してて複数単語を繋げて長くなったら打つのが面倒だから略して書けないか? その場合どうするべきか?というのを軽く疑問に思っただけだったので、変な例を出してしまいましたが、 それがいけなかったようですので実際に作っているのを出してみます。 ダーツゲームを作成しているのですが、ゲームルールとしてスーパー・ラウンド・ザ・クロックというのがあります。 ルールクラスの中にスーパー・ラウンド・ザ・クロックメソッド(SuperRoundTheClock)を作るのですが、 この場合どうするべきか?というのが知りたかったのです。 ちなみに、SuperRoundTheClockぐらい打てよ!というのは無しの方向で・・・。 より長いものが出てきた場合に参考にしておきたいので。
648 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 00:17:54 ] 今どき補完できるエディタ使おうよ
649 名前:使用書無しさん [2008/06/27(金) 00:19:47 ] >>647 それjavaの質問というよりセンスの問題じゃねえ? 昔cobolやってたころなんか母音略して子音だけで名づけてたな sprRndTheClckなんてな..
650 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 00:23:43 ] >>647 その場合、RuleクラスのサブクラスとしてSuperRoundTheClockRuleを作成するのが定石だと思う。 なので、メソッド名は同じになりオーバーライドすることになる。
651 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 00:28:29 ] >>647 頭字語で補完してくれるよ、最近のIDEは。 Eclipseの場合だと、sRTC で補完すると superRoundTheClock() が出てくる。 重複するものがなきゃもっと短かくてもOK。 あと、Javaではメソッド名の先頭は小文字な。
652 名前:639 mailto:sage [2008/06/27(金) 01:32:47 ] 開発環境が固定されていないため(自宅と学校で学校の中でもいろんな場所でやってる)エディタ変更は厳しいです。 今は全マシンにインストールされてるエディタがあるのでそれを使っています。 今後は略さずに補完機能のあるエディタを使って開発する事がベストということですね。 >>650 上の例で突っ込まれそうな予感はしてましたが、突っ込まれてしまいました。 これはRuleクラスでメンバと抽象メソッドを作ればよいということでいいんでしょうか?
653 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 01:51:06 ] >>652 そのとおり。ストラテジーパターンで。 感覚は掴めていそうに見えるから、ググって実装例を見てみるといいと思う。 もっとも、ルールが2種類しかないとか言うなら、デザパタを適用するまでも無いけどね。
654 名前:639 mailto:sage [2008/06/27(金) 02:09:48 ] >>653 ルールは追加する予定ではいますが、時間の都合上、最悪superRound・・・だけというのも有り得ます。 が、勉強のためにそれでやってみようと思います。
655 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 06:32:30 ] >>635 ありがとうございます
656 名前:デフォルトの名無しさん [2008/06/27(金) 15:32:50 ] JSFでSSLは実現できますか
657 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 16:09:57 ] JDBCのresultsetのgetObjectで取得したデータの 型を取得する方法をご教示ください。 やりたいことは resultsetのgetObjectによって 取得されたデータで作成された ArrayList内データをcsvに出力する汎用的な メソッドを作成しています。 そのArrayList内のデータで、文字型なら「"」で くくりたいと考えています。 public void createCSV(List table) { //tableはgetObjectで取得したデータが渡される。 for (int r = 0; r < table.size(); r++) { List rec = (ArrayList)table.get(r); for( int c = 0; c < rec.size(); c++ ) { //ここでrec.get(c)のデータ型を知りたい。 } ・・・ }
658 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 16:13:48 ] >>657 if (rec.get(c) instanceof String) { ... } else { ... }
659 名前:デフォルトの名無しさん [2008/06/27(金) 16:15:55 ] getClass().getName() の方が早くね
660 名前:デフォルトの名無しさん [2008/06/27(金) 16:24:39 ] >>658-659 即レスでありがとうございます。 無事やりたいことができました。 勉強になりました。
661 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:55:13 ] 少し前に為替レートの取得法を相談したものですが,URLConnectionをつかってそのサイトのデータ引き落としは上手く行きましたが、 やはりレートを秒単位でリアルタイム表示しているところはとる事が出来ず行き詰ってしまいました・・ 何かいい案はないでしょうか?
662 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:17:54 ] クラス図での表現を教えてください。 (属性と操作は省略していいそうです) そのクラス図がどのような現実世界の仕掛けを表現したものか も教えてください。 Course Person Professor ShedcleOfClasses Section Student Transcript TranscripEntry
663 名前:661 mailto:sage [2008/06/27(金) 23:44:49 ] すいません。いろいろ試した結果為替レートの取得できるようになりました。 申し訳ありませんでした
664 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 00:35:59 ] 'else'への'if'がありません ってどうすれば解決できるんでしょうか?
665 名前:639 mailto:sage [2008/06/28(土) 00:41:43 ] 問題になってるif文をここに貼り付ければ?
666 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 00:42:51 ] ifまわりの括弧がおかしいとかだろうな
667 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 01:10:59 ] www.objectstart.com/downloads.html にある下から2番目のClick here to access a Zip file containing the Java 1.5.x version of source code for the second edition of BJO. (This version of source code will not compile with Java 1.4.x or earlier compilers.) のファイルにあるCh14のCourse Person Professor ShedcleOfClasses Section Student Transcript TranscripEntry のクラス図を教えてください
668 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 09:45:47 ] >>667 クラス図がどんなものか知ってて、ソースコードがあれば 他人に聞く必要のあることなんてこれっぽっちも無いと思うぞ。 描くのが面倒臭いのか? もしそうなら、ソースからクラス図を吐き出すツールを作ればいいじゃない。 あとは、それくらいの発想なら世の優秀な兄者どもが 既に思いついてるんだろうな〜って感じで、ググっちゃいなヨ。 ↓はJudeっていうツールだけど、ソースからクラス図作成もできるので便利よ ttps://jude.change-vision.com/jude-web/index.html ちなみに ShedcleOfClasses じゃなくて ScheduleOfClasses ね
669 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 13:56:52 ] ☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ毎日新聞社による日本人女性への誹謗中傷☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ ・母親は受験勉強をする息子の学力向上のためにフェラチオをする ・日本人女性の55%は、出会ったその日に男と寝る ・ファストフードは女子高生たちを性的狂乱状態におとしいれる ・ティーンたちはバイアグラを使ってウサギのようにセックスをする ・女子高生は、刺激のためにノーブラ・ノーパンになる ・日本の最新の流行 : 70歳の売春婦 ・老人の売春婦の人気にもかかわらず、日本では小学生の売春婦にも仕事がある ・日本の若い看護婦は売春婦に勝る ・24時間オルガズムが止まらない病気で苦しむ日本人女性の数が増えている ・15未満の子供を対象とした疑似ポルノが日本に蔓延している ・OLの72%が、セックスをより堪能するために何らかのトレーニングを受けている ・人妻は気分転換の目的で昔の恋人に抱かれに行く ・主婦は郊外のコイン・シャワーで売春をしている ・日本男子は柔道や空手の部活で男相手に童貞を捨てている ・ほとんどすべての漁師は海でマンタとSEXしている ・まだ10代の少年から退職した老人までみんな2980円の手コキを利用している ・六本木のあるレストランでは、食事の前にその材料となる動物と獣姦する ※同社が全年齢向けコーナーで七年以上にわたり世界に向けて配信していたものの一部です ※同社の行為は日本人への偏見や人種差別、婦女暴行、幼児虐待を助長するものです ◆毎日新聞の英語版サイトがひどすぎる まとめ@wiki www9.atwiki.jp/mainichiwaiwai/ ◆毎日新聞問題の情報集積wiki www8.atwiki.jp/mainichi-matome/ つまり日本国民は www.vipper.net/vip552788.jpg
670 名前:デフォルトの名無しさん [2008/06/28(土) 17:55:22 ] >>661 秒単位だとどうしてもソフトを間に挟むしかない MT4などにDllフックするか優良サービスを得るか www.dailyfx.com/charts/ChartStation.html で動いてるアプレットからデータを取得するのが無難
671 名前:デフォルトの名無しさん [2008/06/28(土) 18:03:12 ] てか 前に答えてあったな
672 名前:デフォルトの名無しさん [2008/06/28(土) 18:13:48 ] 670訂正 ○有料 ×優良 だね
673 名前:デフォルトの名無しさん [2008/06/28(土) 21:11:44 ] mysqlで100mbのデータをソートしたいのですが ResultSetのインスタンスを所得した時点でメモリ不足になりました また、ヒープのサイズを512MBに設定し、 100mbのCSVをCollectionsのsortメゾットでsortしたのですが これもまたメモリ不足になってしまいました。 大量データをソートする場合どのような手段をとればいいのでしょうか
674 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 22:36:31 ] マージソートの要領で、データ全体をメモリに入るサイズに分割して個別にソートし、最後にマージする
675 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 22:38:31 ] ゲームプログラミングで一般的にルールを破った場合というのは例外を投げ、それを対処すべきでしょうか? それとも、毎度ルールに沿っているかチェックして対処すべきでしょうか?
676 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 22:39:45 ] 入力された数字が一桁なら先頭に0をつけたすプログラムを書きたいのですが、 どうすればいいでしょうか・・・。 たとえば 6→06 としたいのです。 初歩的な質問過ぎてすいません。
677 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 22:44:06 ] int num; ... String numtext = String.format("%02d",num);
678 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 23:27:15 ] www.objectstart.com/downloads.html にある下から2番目のClick here to access a Zip file containing the Java 1.5.x version of source code for the second edition of BJO. (This version of source code will not compile with Java 1.4.x or earlier compilers.) のファイルにあるCh14のCourse Person Professor SchedcleOfClasses Section Student Transcript TranscripEntry のクラス図を教えてください
679 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 23:53:53 ] javaでブラウザを作ってみたいのですが SWTを使わずにGeckoエンジンを使った表示の方法はないでしょうか?
680 名前:デフォルトの名無しさん [2008/06/28(土) 23:53:57 ] プロンプトでパラメータから年・月を受け取り、その「前月」「当月」「次月」の3ヶ月をコンソールに 出力するカレンダーにするにはどうしたらいいですか? (要するに、2008、5と入力したら、4月、5月、6月の3か月分を出力する) 条件として、 ・パラメータチェックメソッドを実装すること ただし、同メソッド内にtry/catch句を記述してはいけない。 (自前で数値チェックを実装する) ・mainメソッドはControllerとしてのみ使用すること。 (実際の作成/出力処理は別メソッドに実装すること) 助けてもらえたら幸いです、みなさんお願いします:;
681 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:02:03 ] >>679 Java Mozilla Html Parser
682 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:03:09 ] なんか最近勘違い君が多いけど、ここは宿題スレじゃないんだぜ >どうしたらいいですか? なんて曖昧な質問には、 プログラムしたらいいのでは? としか答えようがないでしょ? せめて、あたかも宿題じゃないかのようにぼかす配慮をした上で どういうコードを書いたらどういうエラーがでた、位は書こうぜ
683 名前:デフォルトの名無しさん [2008/06/29(日) 00:16:34 ] 680です。 すいませんでした、ご指摘のとおり宿題スレに行きますね。
684 名前:デフォルトの名無しさん [2008/06/29(日) 00:20:27 ] if(arg[0].equals("2008") && arg[1].equals("5")){ System.out.println("2008年4月、2008年5月、2008年6月"); }else{ System.out.println("自分でカレンダー見て"); }
685 名前:679 mailto:sage [2008/06/29(日) 00:24:20 ] >>681 解答ありがとうございます。 しかしパーサーじゃなくてレンダリングの方法をお願いしたかったのですが。。 XULRunnerやJavaXPCOMを見ていたのですが SwingやAWTはなにやら無理なようなので他に方法はないでしょうか
686 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:40:36 ] java.sun.com/j2se/1.4.2/ja/download.html J2SE SDK のダウンロードができないんです Archiveのリンクも開けません 何故でしょうか?
687 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:52:04 ] >>679 これは? jrex.mozdev.org/index.html
688 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:53:30 ] >>673 100MB(合計だよね?)のデータを読み込めて、同程度の作業領域を確保出来るだけのメモリがあるんだから、 適当にin-placeなソートでもすればいいと思うよ お勧めは、multikey quicksort, msd/lsd radix sort, bucket sortあたり どのソートアルゴリズムを利用すべきかは、データ構造によるところが大きいので適宜選択のこと
689 名前:デフォルトの名無しさん [2008/06/29(日) 00:57:03 ] >>682 話に加われるだけのレベルをつけてからおいで
690 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 01:15:20 ] >レベルをつけてから >レベルをつけてから >レベルをつけてから >レベルをつけてから >レベルをつけてから >レベルをつけてから
691 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 01:22:41 ] >>689 あんたは会話が成立するレベルの日本語を 操れるだけの能力を身につけてから出直しておいで。
692 名前:デフォルトの名無しさん [2008/06/29(日) 01:48:08 ] >>691 偉そうに言いながら「ら」抜き日本語かよww 正しくは「操られる」だろ おまえこそまともな日本語使えよなww
693 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 01:55:52 ] >>692 ねーよ
694 名前:デフォルトの名無しさん [2008/06/29(日) 01:57:52 ] int型のポインタを関数の引数に渡して、引数に、なんか値を戻してやる、 ・・・って感じのこと、javaは、できないのか?
695 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:00:44 ] 最近のJavaって終末感漂ってるよね 10年前の輝きは何だったんだろうね 新しい言語の説明ってどれもJavaの悪い部分との比較だったりするし Cみたいに恒常的に長生きする言語でもないし
696 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:06:37 ] >>695 今、一番輝いてる言語ってなに?
697 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:07:00 ] >>695 他のツールが生き残らなかったから、javaと比較するしかないって? それ程の勢力じゃないだろう。
698 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:07:52 ] >>673 ResultSet.TYPE_SCROLL_INSENSITIVE や ResultSet.TYPE_SCROLL_SENSITIVE を指定してないか? それ、インメモリで処理するからメモリを馬鹿食いするはず。 ResultSet.TYPE_FORWARD_ONLY で解決しない?
699 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:09:00 ] >>686 よくわからんが、英語版の画面に切り替えれば、1.4.2_17 ならダウンロードできたぞ。
700 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:09:23 ] >>694 できない。どうしてもやりたいなら、クラスに包んで渡してやる必要がある
701 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:12:38 ] >>699 ありがとうございます。 目当てのバージョンをダウンロードできました。
702 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:16:18 ] >>694 void callee(int[] x) { x[0] = 100; } void caller() { int[] x = new int[1]; callee(x); System.out.println(x[0]); } 滅多にこんなことしないけどなー。// 適切にクラス設計すればまず出番がない。全くないとは言わんが。
703 名前:デフォルトの名無しさん mailto:age [2008/06/29(日) 08:56:56 ] 691 名前: デフォルトの名無しさん [sage] 投稿日: 2008/06/29(日) 01:22:41 >>689 あんたは会話が成立するレベルの日本語を 操れるだけの能力を身につけてから出直しておいで。 692 名前: デフォルトの名無しさん 投稿日: 2008/06/29(日) 01:48:08 >>691 偉そうに言いながら「ら」抜き日本語かよww 正しくは「操られる」だろ おまえこそまともな日本語使えよなww ★「操れる」は「ら抜き言葉」じゃないだろ。 ★「食べれる」なら「ら抜き言葉」だから間違ってるが、「操れる」は正しい日本語だよ ★「操れる」=操ることができる ★「操られる」=誰かが自分を操っている
704 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 09:13:07 ] しつけえ
705 名前:デフォルトの名無しさん [2008/06/29(日) 14:49:55 ] 超初心者で申しあけございませんが、 画像を複数枚表示させたら画像がちらつきます。 repain();でもちらつきます。 どのワードを打ったら常にはり絵でいられるでしょうか? マルチですけど応答がないのでこちらに質問します。
706 名前:r545 [2008/06/29(日) 15:21:55 ] 超初心者ですが、質問があります。 Cで言う構造体は、Javaではどのように定義すれば良いですか?以下のやつだと どうなるか教えてください。 typedef struct cell { // セル構造体 char *key ; // 格納されたキー int next ; // 次のセル(同族のキー) } CELL; typedef struct bucket { // バケット構造体 int Bdepth ; // バケットのビット長 int nkeys ; // バケットに格納されているキーの個数 CELL cell[BSIZE] ; // キーを格納するハッシュテーブル } BUCKET; typedef struct directory { // ディレクトリー構造体 BUCKET *ref ; // バケットへのポインタ } DIRECTORY;
707 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 15:31:52 ] >>706 class Cell { String key; int next; } class Bucket { int Bdepth; int nkeys; Cell[] cell = new Cell[BSIZE]; } class Dictionary { Bucket bucket; }
708 名前:r545 [2008/06/29(日) 15:52:20 ] どうもありがとうございます。 3つのクラスファイルにした方が良いんですか?それとも、メインを含めて全部 まとめた方が良いですか? あと、classの前にpublicはいらないんですが?
709 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 15:55:36 ] >>708 publicなクラスはファイルを分ける必要がある。 そうじゃない場合まとめて書いても良い。 publicにするかどうかは用途による。
710 名前:r545 [2008/06/29(日) 16:04:35 ] 709>> Cで書かれたプログラムをJavaで書き直せっていう課題が出てて、Cで構造体が使われて いるんですよ。難しいです。。もし良かったら、 rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm にのせてあるんで見てもらえますか?
711 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:14:29 ] そういう課題ってどこで出るの? 高校?専門?大学?
712 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:18:43 ] 質問です。 次のような、タブペインに、newでインスタンスとして生成したラベルlabelをタブの数だけ配置するプログラムがあります。 public class TabbedPaneSample1 { JLabel label; public TabbedPaneSample1() { JFrame frame = new JFrame("TabbedPane Sample"); JTabbedPane pane = new JTabbedPane(); for (int i = 0; i < 5; i++) { label = new JLabel("Tab" + i); pane.addTab("Tab " + i, label); } frame.add(pane); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 200); frame.setVisible(true); } public static void main(String[] args) { new TabbedPaneSample1(); } } ボタンを押すなどしたときに「現在表示中の」ラベルの内容を書き換えるにはどうしたらいいでしょうか? label.settext("A");などでは一番最後に貼り付けたラベルにメソッドが働いてしまうようです。 タブペインのgetSelectedComponent();メソッドでコンポーネントは取得できるようなのですが、 コンポーネントからそのメソッドを呼び出せるものなのでしょうか? タブの数は不定なので、あらかじめラベルを用意しておく事は出来そうにないです。
713 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:21:36 ] >>710 つかロダのリストのどれやねん(笑 見た感じ直訳するか意訳するかがポイントかね。 コレクション使って書き直すか、Cのロジックでやってる部分をそのまま使うか。 そのまま直訳するならポインタをどう扱うかがポイントで、 意訳するなら処理の内容を理解してないと辛いかな。ソースは短くなると思うけど。
714 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:28:56 ] >>712 取得したコンポーネントをLabelでキャストしたらいいんじゃね?
715 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:40:16 ] >>714 キャストで出来ました!即答ありがとうございます
716 名前:r545 [2008/06/29(日) 16:51:55 ] 713>> すいません!課題は大学で出ました。 ロダの306.txtと310.txtと311.txtです。 Cプログラムをただ単にJavaに書き直せと言うことだそうです。 オブジェクト指向の考えはしなくて良いので全てまとめて良いらしいですが。 Javaは勉強中でして、ちょっと出来る気がしないので見てもらえますか? よろしくお願いします
717 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 17:14:38 ] >>716 宿題スレじゃないからな、わからんとこだけワンポイントで質問しなされ
718 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 17:21:36 ] CとJava同時にやるとかおもしろいなぁ・・
719 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 19:46:05 ] つーかCをJavaのコードに直せとか 典型的なダメ教育だよな
720 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 19:49:33 ] 逆にバリバリのオブジェクト指向で書いたjavaのコードをCに直させたら勉強になるかも
721 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 20:55:16 ] それJNI書くのと一緒じゃね
722 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:28:42 ] ナンダッテ?
723 名前:r545 [2008/06/29(日) 21:32:09 ] 717>> すいません。。 せめて、メイン関数だけJavaに直したのを教えてもらいたいんですが。。 少しづつやってるのですが不安で。残りはは、自分でやるので。
724 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:45:50 ] >>719-720 変な癖が付きそうで怖い。
725 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:58:55 ] Cでオブジェクト指向みたいなことをやってるのって、 GKT+あたりかな。
726 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:59:08 ] >>723 そもそもどっちかの言語をある程度使える状況になってからやる課題。 おまえさんには多分無理ということであきらめた方がいい
727 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:00:31 ] >>716 Cは読めるのか? 読めるならばどの部分がJavaに変換できないのかを質問してくれ
728 名前:r545 [2008/06/29(日) 22:24:22 ] 727>> Cは読めます。Cのメインは自分で作ったので。 メインが分らないんですが。。少しずつやってるんですけど。
729 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:32:25 ] 質問です。 今、フルスクリーンとウィンドウを切り替えるようなものを作ろうとしているのですが 描画にはBufferStrategyでgetDrawGrapicsしたものを使用しています。 フルスクリーンからウィンドウに切り替える場合、ウィンドウにはなるものの BufferStrategyがnullになってしまい描画処理が行えないという状況になりました。 少々強引ですが、runの頭でgetStrategyをし取得を試みたのですが上手くいきませんでした。 ウィンドウからフルスクリーンに切り替える場合setUndecoratedが実行できず setUndecoratedを実行しないで切り替えると上と恐らく同じ理由で描画処理が行えませんでした。 もちろん、setUndecoratedにtrueを渡してフルスクリーンにしたいので setUndecoratedを実行しないということはできればしたくありません。 よろしくお願いします。
730 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:37:07 ] >>728 メインの何処が分からないのかと
731 名前:デフォルトの名無しさん [2008/06/29(日) 22:40:30 ] 聞いてると 分からない所が分からない人なんじゃないのかなこの人
732 名前:名無し [2008/06/29(日) 23:03:44 ] javaの影響でyoutubeが見れなくなってしまったんですが、どうすれば見れるようになりますか? 教えてください(>_<)
733 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:09:28 ] >>728 意地悪してるわけじゃないけど君の質問の仕方では答えのしようがないよ きっと自分で何が分からないのかが分かってないんだと思うけど そういう状態で人に物を聞くのは失礼というものですよ 社会に出る前にその癖を直したほうがいい
734 名前:r545 [2008/06/29(日) 23:22:06 ] 728 731 733 すいません。遅れました。。 メインの変数定義からファイルを読み込むまでです。 int main (void){ FILE *fp; //ファイルポインタ宣言 char *a[HSIZE]; //格納用配列 int i; //ループ変数 char inv[100]; //入力値 char infile[80]="wordE100KR.dat"; double sec; clock_t start, end; DIRECTORY *directory; int depth = 2; //バケットの深さ if((fp = fopen(infile,"r")) == 0){ printf("ファイルオープンできません。\n"); exit(0); } i = 0; //初期化ループ変数初期化 while(fscanf(fp, "%s\n", inv) != EOF){ //キーの読込み a[i] = strdup(inv); //ポインタ配列にデータを格納する. printf("%s\n",a[i]); i++; if(i >= HSIZE) break; } fclose(fp);//ファイルクローズ
735 名前:r545 [2008/06/29(日) 23:23:34 ] 734をJavaにすると↓ public static void main(String args[]){ String a[]=new String[HSIZE]; String inv[]=new String[100]; int i; double second; clock_t start, end; DIRECTORY[] directory; int depth = 2; i=0; try{ BufferedReader f= new BufferedReader(new FileReader("wordE100KR.dat")); while((inv=f.readLine())!=null){ a[i] = inv; System.out.println(a[i]); i++; if( i>= HSIZE) break; } f.close(); }catch(FileNotFoundException e1){ System.out.println("NO File"); }catch(IOException e2){ System.out.println("Can not Open"); }
736 名前:r545 [2008/06/29(日) 23:24:14 ] 合ってますか?
737 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:27:03 ] 聞く前に試したら? と言わざるを得ない
738 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:38:32 ] まぁファイル読み込みぐらい調べればすぐできるしな・・ 次からが問題だなぁ
739 名前:r545 [2008/06/30(月) 00:44:08 ] 737>> 動かしたんですが、警告は無視しても平気ですか。エラーは5個でたんですが。。 public class HashExtend { static final int HM = 1048583; // 擬似キー生成時にハッシュ関数へ渡す素数 static final int BSIZE = 100; // バケットの容量 static final int BPOS_MAX = 100; // バケットの占有率上限での容量 static final int BPOS_MIN = 50; // バケットの占有率下限での容量 static final int BHM = 97; // セル格納時にハッシュ関数へ渡す static final int BC = 29; //セル格納時に衝突した場合のハッシュの増分 static final int HSIZE = 100000;//配列のサイズ 上のコメント分が 警告: この文字は、エンコーディング MS932 にマップできません。 のように出るのですが。。
740 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:49:05 ] >>739 そりゃエディタの文字コードの設定か何かがおかしいだけ。 Windowsのメモ帳でソースを開いてみて、おかしいところが何とかして直すんだ。
741 名前:r545 [2008/06/30(月) 01:18:45 ] TeraPad でやってるんですが。 文字コードがSHFT-JISになっています。。分んないです。。