![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
度々質問させて頂いてます。
Jtableでファイルのリストを表示させたいのですが、アプリ外(Windowsのエクスプローラ)からのD&Dしてきたファイルを、最初に要素のない状態で定義したArrayList型の変数?にいれる(addする)ので、はじめはArrayList型変数には知らない(意味を持たない)値が入っているか、JTableが、表示する範囲の要素がなくて困ってしまっているはずです。たぶんそのせいでJTableに表示されないんだと思います。(妄想です)
nullで初期化しようとも考えたのですがそうするとaddが使えなくなってしまい(nullが入っているところの後ろからaddされる)、同じ班の人が作ってくれたクラスを手直し?しなくてはなりません。
どうすればいいでしょう。
ちょっと日本語がイカれてますができれば助けて欲しいです。
補足ならいくらでもします。
//TableModelクラス
public class TableModel extends AbstractTableModel{
public static DataList mainList = new DataList();
TableModel(){
}
@Override
public int getColumnCount() {
return 4;
}
@Override
public int getRowCount() {
return 1;
}
@Override
public String getValueAt(int row, int column) {
String fileName = mainList.GetData(row).GetName();
String lastModifiedDate = mainList.GetData(row).GetDate().toString();
String filePath = mainList.GetData(row).GetPath();
switch(column){
case 0:
return null;
case 1:
return fileName;
case 2:
return lastModifiedDate;
case 3:
return filePath;
default:
return null;
}
}
public String getColumnName(int column){
switch(column){
case 0:
return null;
case 1:
return "ファイル名";
case 2:
return "更新日時";
case 3:
return "パス";
default:
return null;
}
}
}
//DataListクラス
public class DataList{
List<FileData> dataList;
public DataList(){
this.dataList = new ArrayList<FileData>();
}
// 末尾にデータを追加
public void AddData(FileData fd){
this.dataList.add(fd);
}
}
FileDataクラスは単純にファイル名、パス、更新日時(Date型)を持つクラスです
rowが1なのはいろいろ試したからで、実際は30行くらい表示していたいです。
No.1ベストアンサー
- 回答日時:
おっしゃっている通り、何をいっているかわからないので、
何を聞きたいのかよくわかりませんが、
気になった点をいくつか記載します。
・DataListクラスの必要性が感じられません。
直接ArrayListでいいのては?
・getValueAt、getColumnNameでnullを返すケースがありますが、
これは問題ないでしょうか?確認してたほうがいいかと思います。
わからなければ、""を返した方が無難です。
・getRowCountほコンスタントに1を返していますが、
これはデータ数を返すのがいいでしょう。
このままのソースでいくなら(先の指摘を反映しないなら)、
return mainList.dataList.size();
となります。
・このコードだけでは判断できませんが、データ数やデータの内容等に変更があった場合には、
AbstractTableModelのfire~というメソッドを呼び出すことでJTableに
変更を通知する必要があります。
簡単に見ただけなんで、とりあえず、以上の点だけ指摘しておきます。
補足ありがとうございます。
質問を見てそういう指摘をしてくださるのは当然のことだと思います。内容不足でもうしわけありません。
>getValueAt、getColumnNameでnullを返すケースがありますが、
>これは問題ないでしょうか?確認してたほうがいいかと思います。
>わからなければ、""を返した方が無難です。
ドンピシャでございました(TдT)
勘でなんとなくnullにしてしまっていました。
本当にありがとうございました。これからに自分のプログラミング人生の大きな教訓になりましたm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
違うクラスからの変数の共有化
-
java-別クラスの変数の使い方を...
-
visual studioのデザイナ画面で...
-
構造 他のクラスの構造体を別...
-
クラス間でのデータ参照
-
C#にて別クラスの関数を使いたい
-
C++でfriendクラスにしているの...
-
関数内の変数に<summary>コメン...
-
c++,ある関数のクラスから別の...
-
C,C++,C++/CLIの構造体とクラス
-
Java リフレクションについて
-
JTable ArrayList 表示されない
-
無名パッケージからのインポート
-
C#でほかのファイルにある自作...
-
【初心者】javaコンパイルエラ...
-
インターフェースとトレイトっ...
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
-
C# インスタンスの破棄
-
private static という変数の修飾
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラス間でのデータ参照
-
関数内の変数に<summary>コメン...
-
c++,ある関数のクラスから別の...
-
範囲外の数値を代入したらエラ...
-
C#にて別クラスの関数を使いたい
-
無名パッケージからのインポート
-
java-別クラスの変数の使い方を...
-
SwingでgetContentPaneのエラー...
-
C++でfriendクラスにしているの...
-
C#でほかのファイルにある自作...
-
Java リフレクションについて
-
Java
-
import と extends について
-
C#のクラスライブラリでメッセ...
-
a href="..." とServlet
-
ひとつのファイルにクラスは1つ?
-
構造 他のクラスの構造体を別...
-
親クラスから子クラスへアクセス。
-
内部クラスのインスタンスを外...
-
visual studioのデザイナ画面で...
おすすめ情報