2014-01-16 33 views
1

感謝大家對我項目中的幫助。如何使用休眠功能將數據庫Table項目拖放到TableView上

我一直在尋找今天的大部分,但一直沒有得到任何有用的材料。

我的項目是Java/JavaFx,Hibernate和H2。到目前爲止,我可以將項目持久化到數據庫中,但我無法弄清楚如何將數據拖放到TableView上。我已經盡力將數據繪製到System.out.println上,但僅此而已。

這些都是我的課:

此類創建數據庫對象,NewBeautifulKiwi:

import java.io.Serializable; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.Id; 

@Entity(name = "KIWI_TABLE") 
public class NewBeautifulKiwi implements Serializable { 

    @Id 
    @GeneratedValue 
    private int KiwiId; 
    private String Kiwi; 

    public int getKiwiId() { 
     return KiwiId; 
    } 

    public void setKiwiId(int KiwiId) { 
     this.KiwiId = KiwiId; 
    } 

    public String getKiwi() { 
     return Kiwi; 
    } 

    public void setKiwi(String Kiwi) { 
     this.Kiwi = Kiwi; 
    } 
} 

本A類初始化的NewBeautifulKiwi,創建數據庫表和打印插入數據到屏幕:

import java.io.Serializable; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.Id; 

@Entity(name = "KIWI_TABLE") 
public class NewBeautifulKiwi implements Serializable { 

    @Id 
    @GeneratedValue 
    private int KiwiId; 
    private String Kiwi; 

    public int getKiwiId() { 
     return KiwiId; 
    } 

    public void setKiwiId(int KiwiId) { 
     this.KiwiId = KiwiId; 
    } 

    public String getKiwi() { 
     return Kiwi; 
    } 

    public void setKiwi(String Kiwi) { 
     this.Kiwi = Kiwi; 
    } 
} 

我想要在TableView中顯示屏幕上顯示的內容。

任何幫助將是偉大的。我會很感激我能得到的任何幫助。先謝謝你。

回答

2

試試這個..

我創建表和列在scene builder

@FXML 
private TableView<PoJoName> table; 

@FXML 
private TableColumn<PoJoName, Integer> col1; 

@FXML 
private TableColumn<PoJoName, String> col2; 

public ObservableList<PoJoName> data; 

@FXML 
void initialize() 
{ 

    col1.setCellValueFactory(new PropertyValueFactory<PoJoName,Integer>("id")); // here id is a variable name which is define in pojo. 
    col2.setCellValueFactory(new PropertyValueFactory<PoJoName,String>("name")); 

    data = FXCollections.observableArrayList();   
    SessionFactory sf = new Configuration().configure().buildSessionFactory(); 
    Session sess =sf.openSession();   
    Query qee = sess.createQuery("from PoJoName"); 
    Iterator ite =qee.iterate(); 
    while(ite.hasNext()) 
    { 
     PoJoName obj = (PoJoName)ite.next();  

     data.add(obj);   
    }   
    table.setItems(data); 

} 
+0

很好的例子,並使用「PoJoName」(OP類的副名)使其更加廣泛適用。 +1 –

相關問題