2017-08-18 81 views
-1

我想从SQL中的表中获取值,并在javafx中的tabpane中的选项卡中显示它们。例如,表中包含的值如下:如何从sql中获取值并在javaFX的选项卡中显示它们?

---------------------------------- 
| Column1 | Column2 | Column3 | 
---------------------------------- 
| 1  | Text1 | something1 | 
---------------------------------- 
| 2  | Text2 | something2 | 
---------------------------------- 

我想在两个选项卡中显示它们,每个值都有文本字段。我试过了,但它只显示了第一个值的1个选项卡。

这是我的代码:

Clas12 a = new Clas12(); 
Tab tab = a.getTab(); //this gets a tab with textfields on it 

int i = 1; 
while (rs.next()) { 
    tab.setText("#" + rs.getString(2)); 
    a.getTabPane().getTabs().add(tab); 
    a.fillTextFields(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), 
      rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8), rs.getString(9), rs.getString(10)); 
} 

希望你能帮助我。如果你想要其他细节,请告诉我。

+0

你的'TabPane'在哪里? 'a.getTabs()'在哪里?你只是抓住一个“Tab”,所以你只会写一个“Tab”。 – Sedrick

+0

TabPane在'Clas12'中,我通过'getTabPane()'方法得到它。 'getTabs()'在'Clas12'中。 'Clas12'是'tabPane'所在的FXML文件的控制器类 –

回答

0

您的问题是,您尝试添加两个选项卡与相同的对象选项卡。

       Clas12 a = new Clas12(); 
        // Tab tab = a.getTab();this is your problem 

        int i = 1; 
      while (rs.next()) { 
       tab=new Tab(); //this gets a tab with textfields on it 
       tab.setText("#" + rs.getString(2)); 
       a.getTabPane().getTabs().add(tab); 
       a.fillTextFields(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), 
       rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8), rs.getString(9), rs.getString(10)); 
    } 
相关问题