Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

テキストファイルの読み込み、JLabelへのセットについて


Java初心者で最近GUIを扱い始めました。
テキストファイルを一文字ずつ読み込み、かつそれを別クラ
スのJLabelにセットし、最終的には5×5のgridlayoutに当ては
め並べたいのですが、どうしてもその方法が分かりません。

表示イメージは
〇〇〇〇〇
〇〇〇〇〇
〇〇〇〇〇
〇〇〇〇〇
〇〇〇〇〇 〇=読み込みこんだ文字

自分なりに、テキストを一行ずつ読み込みそれをsplitで分割し
たあと、ループで代入していくというのも試してみたのです
が、NullPointer〜の例外が出てしまい上手く出来ませんでし
た。

文章のみの説明で申し訳ないのですが、以上の内容でご教授
頂けますと幸いです。

3

回答

3646

閲覧

3件の回答

評価

0

そういう場合は、実際に書いてみたソースを上げるんだ。
うまくいかないものを人に見せるのは恥ずかしいかも知れな
いが、それも経験だし、ピンポイントでどこの考え方がおか
しいのかを指摘してもらう方が、理解しやすい。
それに、例外が出たのならそれについて自分で調べてみる
(どういう原因で発生し、自分のソースではそれがどこに当
たるのか)ことも大事だ。

評価

0

質問者本人です。

反応ありがとうございます!
そうですよね、伝わらないと意味無いですしね…
とても拙いソースではありますが、分からない部分のソース
載せさせて頂きます。

すみません、PCを触れる環境出ないところで質問させて頂い
たため、文章のみとなっていました。
補足でソース貼らせて頂きます。

ファイルの読み込み、分割クラス内↓
try{
File file = new File(テキストファイル名);

FileReader fr = new FileReader(file);
BufferedReader br = new 
BufferedReader(fr);

String aLine = "";

while((aLine = br.readLine()) != null){

data += aLine;

}

load = data.split(",");

for(int i = 0; i<5; i++){

for(int j = 0; j < 5; j++){
MainFrame.data[i][j] = load[m];  //ここで例外発生

m++;
}
}

MainFrameクラス内↓

for(int i = 0; i<5; i++){

for(int j = 0; j<5; j++){
label[i][j].setText(data[i][j]);
}

}

PC以外からの投稿のため見にくくて申し訳ないです。
例外の発生について調べたのですが、イマイチどういった処
理の過程で発生するのかが分かりません…
配列のところで発生しているのは分かるのですが…
このソースを踏まえてご指摘頂けますと幸いです。

評価

0

ソースを載せる際のポイントは2つ。
・問題が再現する最小限のソースを載せる(無くても問題が
再現できる部分は削る)。
・そのまま動作するソースを載せる。
今回の場合は、クラスになっていないし、MainFrame.dataが
何かも分からない。
NullPointerExceptionのように比較的理由がはっきりした例外
は良いとしても、今後質問するときは気をつける方がいい。

NullPointerExceptionは、端的に言えばコップを用意せずに、
幻のコップに飲み物を注ごうとするようなもんだ。
つまり、発生する箇所の変数のいずれかがnullのままだという
ことだ。

入れ物を用意するにはどうしたらいいかは、基礎の内容だ
よ。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。