创建通用图避免instanceof

时间:2016-12-18 12:24:25

标签: java generics graph

大家好,

我一直在寻找图表的javafx实现,here, 但对于id,我想有任何类型。 问题是,当我想要显示它时,它取决于类型,所以我可以这样做:

public class LabelCell<T> extends Cell<T> {

public LabelCell(T id) {
    super(id);
    Pane pane=new Pane();
    Label view;

    if (id instanceof SQLTableVertex) {

     String labelString="";

     labelString+=((SQLTableVertex) id).getName();
     labelString+="\n"+"________________________";
     for (Identifier i:((SQLTableVertex) id).getIdentifiers())
         labelString+= "\n" +i;

     view = new Label(labelString);

    }       

    else 
        view=new Label(id.toString());


    view.setStyle("-fx-background-color: lightgray;");
    pane.getChildren().add(view);
    setView(pane);

}

但我失去了它是通用的事实。 我还可以在模型的开关中添加一个案例,但这是同样的问题

我该如何处理?先谢谢了。

0 个答案:

没有答案