2011-03-06 17 views
3

これが可能だと確信していますが、この状況の適切なドキュメントまたは簡単な例を見つけるのが難しいです。例の便宜上行ごとに1つのオブジェクトを使用してJTableを実装する

、私はこのようなオブジェクトを持って言うことができます:

public class Person { 
    private final String name; 
    private final int age; 
    private final String address; 

    // Constructor, Getters and Setters 
} 

今、私はこのような何かできるようにしたいと思います。その後、各列を

myTableModel.addColumn("name"); 
myTableModel.addColumn("age"); 
myTableModel.addColumn("address"); 
myJTable.setModel(myTableModel); 
for (Person person : people) { 
    myTableModel.addRow(person); 
} 

をと考え行のPersonオブジェクトを使用して、表示する適切な情報を取得します。

答えて

3

カスタムTableModelを作成します。ここで私はいくつかの時間前に書いたサンプルは次のとおりです。

http://puces-samples.svn.sourceforge.net/viewvc/puces-samples/tags/sessionstate-1.0/sessionstate-suite/sessionstate-sample/src/blogspot/puce/sessionstate/sample/ParticipantTableModel.java?revision=13&view=markup

代わりのNbBundleあなたはNetBeansプラットフォーム上でアプリケーションを構築していない場合は、私が使用することをお勧めしますけれどもあなたも(、のResourceBundleを使用することができますRCP)。

+0

JavaBeansベースのソリューションをお探しですか?私は一度それをしました。私が書いた次のTableModelを見ることができます。これは、単一のBeanの行ごとに1つのプロパティを表示し、前に述べたサンプルと組み合わせます。http://softsmithy.hg.sourceforge.net/hgweb/softsmithy/lib /main-golden/file/5c4db802573b/lib-core/src/main/java/org/softsmithy/lib/swing/table/PropertyTableModel.java – Puce

+0

あなたの元の答えは私が欲しかったものです。ありがとう! – digiarnie

+0

注:提供されているサンプルは読み取り専用です。モデルを書き込み/変更可能にしたい場合は、毎回変更の後にAbstractTableModelベースクラスのfireXYZメソッドを呼び出します。それ以外の場合、テーブルは更新されません。ちょうどこのメモが時間を節約するかもしれないと思った。 ;-) – Puce