繁体   English   中英

问:如何从TableView中打印特定行的特定字段?

[英]Q: How to print a specific field of a specific row from my TableView?

我有以下问题:我从可观察的列表中读出数据库项。 现在,我想在表视图右侧的几个文本字段中显示所选行中的某些项目。

我得到了带有以下代码的observable-line-index,但是我想选择该行的另一列。

        AnalysemethodenTable.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Object>() {
        public void changed(ObservableValue<?> observable, Object oldvalue, Object newValue) {
            index.set(analysemethodendata.indexOf(newValue));
            databaseIndex = (analysemethodendata.indexOf(newValue) + 1);
            System.out.println("Index:\t" + databaseIndex);

        }
    });

我找到以下代码: 单击

但是我不明白这一点。 这就像编写一个新列表并将可观察列表的项目副本放置在此新列表中。

我认为,如果我的代码具有行的索引,我也可以选择可观察列表行中的其他项(我认为像数组一样“ x,y”)

如果我将其强制转换为String,则输出仅为机器代码。

希望我能在您的帮助下理解解决方案!

编辑:我插入以下代码:

System.out.println(analysemethodendata.get(databaseIndex).toString());

但是我在输出中仅获得机器代码:

table.analysemethoden_table@63c0d5b7

编辑2:表控制器代码:

package table;

import javafx.beans.property.SimpleFloatProperty;
import javafx.beans.property.SimpleStringProperty;

public class analysemethoden_table {

    private final SimpleStringProperty rAmnorm;
    private final SimpleStringProperty rMethverantw;
    private final SimpleFloatProperty rBestimmungsgrenze;
    private final SimpleFloatProperty rNachweisgrenze;

    public analysemethoden_table (String sAmnorm, String sMethoverantw, Float sBestimmungsgrenze, Float sNachweisgrenze) {
        this.rAmnorm = new SimpleStringProperty(sAmnorm);
        this.rMethverantw = new SimpleStringProperty(sMethoverantw);
        this.rBestimmungsgrenze = new SimpleFloatProperty(sBestimmungsgrenze);
        this.rNachweisgrenze = new SimpleFloatProperty(sNachweisgrenze);
    }
    // Getter- und Setter-Methoden

    /** rAmnorm **/
    public String getRAmnorm() {
        return rAmnorm.get();
    }

    public void setRAmnorm(String set) {
        rAmnorm.set(set);
    }

    /** rMethverantw **/
    public String getRMethverantw() {
        return rMethverantw.get();
    }

    public void setRMethverantw(String set) {
        rMethverantw.set(set);
    }

    /** rBestimmungsgrenze **/
    public Float getRBestimmungsgrenze() {
        return rBestimmungsgrenze.get();
    }

    public void setRBestimmungsgrenze(Float set) {
        rBestimmungsgrenze.set(set);
    }

    /** rNachweisgrenze **/
    public Float getRNachweisgrenze() {
        return rNachweisgrenze.get();
    }

    public void setRNachweisgrenze(Float set) {
        rNachweisgrenze.set(set);
    }
}

您需要使用

analysemethodendata.get(databaseIndex).getRAmnorm();

或任何其他getter方法代替getRAmnorm()以获得所需的输出。

databaseIndex >行号

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM