- - PR -
JAVA、グラフィックスについて
1|2|3|4
次のページへ»
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-10-16 16:54
去年ちょっとだけJAVAを学習した学生です。
JAVAのグラフィックス(描画)で、たくさんの円を書こうとしています。 配列を使って描き、コンパイルしたところ ----------------------------------------------- Application5.java:44: コードが大きすぎます。 public void paint( Graphics g ) { ^ エラー 1 個 ----------------------------------------------- と表示されました。 9000個近くのデータを入れたためでしょうか? 上限のようなものはあるのですか? また、9000個描くのは不可能なのでしょうか? | ||||||||
|
投稿日時: 2006-10-16 17:04
単純な話、Javaのソースコードが大きすぎるときに
「コードが大きすぎます」のコンパイルエラーが発生します。 通常、多数のデータに基づき何かを行う場合、 データを与える方法を考えるのが通常です。 (テキストファイルなどの外部データを読み込んで利用するなど) # そういえば小学生ぐらいのころにBASICで似たようなことやってたなぁ… | ||||||||
|
投稿日時: 2006-10-16 17:14
ご返信、ありがとうございます!!
ソースコードが大きすぎたんですね・・・。 テキストファイルから読み込んでの描画も考えたのですが、方法がわからず・・・ 「配列でやっちゃえ」と言う気持ちで、全部ソースに入れてしまいました。 外部データを読み込むということは、BufferedReaderとかを使うんですか? 全然わかってなくてすみません;;; 小学生のころからBASICやってらっしゃったんですね!! すごいです☆☆☆ | ||||||||
|
投稿日時: 2006-10-16 19:18
java.io.FileReaderとjava.io.BufferedReaderを使うのが 比較的簡単なのかなぁ。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/FileReader.html http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/BufferedReader.html
I/Oのライブラリを使うときは例外処理を覚えないといけないのが壁ですね。 サンプルソースは探せばいくらでも転がっていると思いますよ。 # ソースは殴り書きなので動く保障はありません | ||||||||
|
投稿日時: 2006-10-18 14:17
昨日からずっと試しているのですが・・・苦戦しています。
java.io.FileReaderとjava.io.BufferedReaderから読み込んで、 「public void paint( Graphics g ) { 」内で、作図したこととかありますか? サンプルソースも探しましたが、使えそうなものがありませんでした。 例外処理は、やはりないといけないものですか? 何度もすみません・・・。 | ||||||||
|
投稿日時: 2006-10-18 14:40
ファイルから取得しているのは、円の座標でしょうか?
public void paint( Graphics g ) { g.drawOval(x1,y1,x2,y2) } で描画できます。 楽な方法としては、paintメソッド内でnagiseさんの書かれた処理を やってしまうことですね。 指定したファイルが存在しなかったり、読み込み中にエラー が発生することもあるので、例外は必要です。 | ||||||||
|
投稿日時: 2006-10-18 16:49
はい!円の座標です。
txtファイルには、 10,20 10,50 40,30 みたいな感じで入っています。 ひらさんが書いてくれた public void paint( Graphics g ) { g.drawOval(x1,y1,x2,y2) } の、x1,x2のところに、どうやって対応(代入)させるかわかりません・・・。 >>楽な方法としては、paintメソッド内でnagiseさんの書かれた処理をやってしまうこと ということは、paintメソッドの中に、 読み込みのjava.io.FileReaderとjava.io.BufferedReaderを入れればよいのでしょうか??? 例外処理は、絶対いるんですね;;; | ||||||||
|
投稿日時: 2006-10-18 17:32
paintメソッドでファイルを読みにいくのはちょっとマズイのでは。 1.事前に読み込んで変数に保管しておく 2.paint()時点で1.で読み込んでおいた変数の値で円を描く となるでしょう。 大体、以下のようなイメージで。
とりあえず動かすレベルであればこんなところでしょうか。 (細かい点をきっちりコードにするとしんどいので省略…) |
1|2|3|4
次のページへ»