2017-11-02 19 views
0

私はTableViewを持っていて、そこにはTableColumns(Screenshot of the program)があります。TableColumnsにUserオブジェクト情報を入力するにはどうすればいいですか?

このメソッドは、ユーザー(potentialFriends)のArrayListを受け取ります。オブジェクトUserはフルネーム、電子メール、趣味、メジャー、および一致するスコアで構成されます。 ArrayList内のすべてのUserオブジェクトの情報をTableに入力したいと思います。正確にどのようにそれが行われますか?私はいくつかの研究をしましたが、何も動作していないようです。それは場合に役立ちます ここでは、コードの一部である:あなたの時間と労力のため

public class AlgorithmController { 

@FXML 
private TableView<User> table; 
@FXML 
private TableColumn<User,String> nameCol; 
@FXML 
private TableColumn<User,String> majorCol; 
@FXML 
private TableColumn<User,String> mailCol; 
@FXML 
private TableColumn<User,String> hobbyCol; 
@FXML 
private TableColumn<User,String> scoreCol; 
private User user; 
private ArrayList<User> potentialFriends; 


public void initialize(){ 
    DatabaseStack database = new DatabaseStack(); 
    MatchingAlgorithm testAlg = new MatchingAlgorithm(database.getDatabase()); 
    user = Mediator.getInstance().getUser(); 
    potentialFriends = testAlg.findAFriendAlgorithm(user,0,database.getDatabase().size()); 

}} 

ありがとう!

+0

'Controller'と' FXML'ファイルの間に 'TableColumn'を正しくバインド(注入)しましたか? –

+0

@BoHalimそうですね、実際に情報を列に埋め込む方法はわかりません。 potentialFriends'が 'ObservableList'ない'ため –

答えて

0

各列にcellValueFactoryを設定します。 たとえば、

nameCol.setCellValueFactory(new PropertyValueFactory<User,String>("Specify nameCol variable name the same as in User class")); 

次に、アレイリストを追加します。追加の配列リストが機能しない場合

table.setItems(potentialFriends); 

ObservableList代わりのArrayListを使用してみてください。

+0

これは、 'table.getItems()。SETALL(potentialFriends)'であるべきです。コンストラクタ・パラメータの使用方法を理解するには、[PropertyValueFactory'のJavadocs(https://docs.oracle.com/javase/9​​/docs/api/javafx/scene/control/cell/PropertyValueFactory.html)を参照してください必ずしも "変数名"である必要はありません)。 –

+0

エラー:「警告:PropertyValueFactoryのプロパティ「Ethan White」を取得できません:[email protected]、提供されたクラスタイプ:class FindAFriend.User java.lang.IllegalStateException:読み込めません読めない性質のEthan Whiteから "何が間違っていますか?私はあなたが言ったことを正確に行った。私はこのエラーを持って、私の豆を実現@DmytroMarych –

+0

ではなく、公共のデフォルトのアクセス修飾子を持っていました!ああ、それは迷惑で、私は決して2時間のハのためにそこに見えると思った! – JesseBoyd

関連する問題