2016-11-08 8 views
0

私は、特定の条件セットに一致するファイルのいくつかのリストを収集し、ソース、ファイルのタイプなどに応じて適切なものとしてそれらを操作するプログラムを構築しています。私の希望は、ファイルを見つけて読みやすいリストに表示することです。ユーザは、リストからどのファイルが処理されるかを選択し、そうであれば「騒動を開始する」ボタンを押す。JTableとそのデータソースとの関係

class DrawingFile { 

private static String fileName, fileType; 
private static boolean actionable; 
private static Path filePath; 

public DrawingFile (Path path){ 
    setFilePath(path); 
    setFileName(stripExtension(path)); 
    setFileType(getExtension(path)); 
    setActionable(true); 
} 
...(methods omitted to save time)... 

私の計画を、当初の各フィールドとDrawingFilesのリストに基づいて移入のJTableを作成することでした。

は今のところ、私は次のようになりますDrawingFileというクラスを作りましたオブジェクトは表内の列であり、表には表示されません。そこから、ユーザは、ファイルが操作されるかどうかを決定するチェックボックスをクリックする。

私の問題は、私が比較的プログラミングに新しいことから最優先されます。これは、人々が使用しようとしている最初のプログラムです。これには、あらゆる種類のUIもあります。

、このような私の質問があるとして:

  1. 上記の私の計画は、まったく意味を成していますか?
  2. テーブルを残してコンテナ内に一連のJPanelを作成する方が理にかなっていますか? (これはベストプラクティスではないようです)
  3. 私はテーブルを持っていれば、DrawingFileクラスをスクラップし、そのデータをTableModelに保存すべきですか? 3a。もしそうなら、テーブルにパスを隠す方法はありますか?
  4. actionableブール値がテーブル上でチェックされている場合、どのように変更するのですか?
  5. 1〜10のスケールでは、これをどれほど深刻に考えていますか?

答えて

1
  1. 私が正しく理解していれば、あなたはDrawingFileオブジェクトのリストを持っており、各行は、リストのオブジェクトを表しJTableが、このリストを表示したいです。はい、それは完璧な意味があります。
  2. いいえテーブルはそれに最適です。
  3. いいえ。カスタムのDrawingFileTableModelクラスを作成し、AsbtractTableModelを拡張し、オブジェクトのリストをソースとして使用してメソッドを実装する必要があります。 「JavaチュートリアルJTable」のGoogle、the official tutorialの例があります。
  4. isCellEditable()がその列と行に対してtrueを返し、setValueAt()getColumnClass()メソッドが正しく実装されていることを確認してください。 javadocとチュートリアルはあなたの友人です。 setValueAt()は、ブール型列のインデックスで呼び出されたときに、バッキングリストの指定された行インデックスに格納されているDrawingFileに新しい値を設定する必要があります。 getColumnClass()は、ブール値列のインデックスで呼び出されたとき、Boolean.classを返します。
+0

私は正しい道のりです。私はそのチュートリアルをリンクするつもりだったが、私が入力している間は忘れていたに違いない。あなたが気にしないなら、私があなたが言及した方法が見えるべきであると思うものをタイプし、あなたがそれらを見渡すことができればそれは大丈夫ですか? –

+0

これは可能です。しかし、最も簡単な方法は、期待どおりに動作することをテストすることです。 –

+1

確かに。夢のように働く。ご協力いただきありがとうございます。 –

関連する問題