添加多个条目以列出并获取订单
问题描述:
我在AnchorPane
上创建了Buttons
的多个CustomNode。 我的节点创建于Button
点击,例如。当我点击Button'task1'时,将会创建一个具有Label
'task1'和一个ID的新节点。 这些CustomNodes具有多个任务(例如task1,task2),它们将在不同的Button
事件中创建。 我有一个ArrayList
我存储这些ID(但我存储在同一个列表中的所有ID)。添加多个条目以列出并获取订单
我可以在一个List index(id + function)中存储两个项目吗?就像当我按任务1 Button
时,我想将id和函数task1存储在同一个索引中。当我按任务2 Button
时,我想将id + task2函数存储在相同的列表中。
我的问题的另一点是我可以得到ID的顺序?我通过CubicCurves
连接我的节点,在这个链接类我有我的功能:
public void bindEnds (DragNode source, DragNode target) {
//Code above
source.registerLink (getId());
target.registerLink (getId());
}
public void registerLink(String linkId) {
mLinkIds.add(linkId);
}
在哪里注册我的源和目标CustomNodes。 在我的节点上有两个Circles
(左侧和右侧)。左边的Circle
应该是输入,正确的输出。我想检查我的左/右Circle
是否已连接。如果左侧没有连接,但是右侧,它应该是我列表中的第一个条目。如果两者都连接,我需要订单并存储它。
答
只需创建将存储ID和任务这样一个类:
public class Stocker {
private Task task;
private int id;
public Stocker(Task task, int id) {
this.task = task;
this.id = id;
}
public Task getTask() {
return task;
}
public int getId() {
return id;
}
}
,然后改变你这样的名单:
List<Stocker> stockers = new ArrayList<Stocker>();
您现在可以创建与堆垛机:
Stocker stocker = new Stocker(task,id);
存档与:
stockers.add(stocker);
,并使用访问您的值:
stockers.get(index).getId();
//or
stockers.get(index).getTask();
答
库http://www.javaslang.io/已经定义了类型Touple,这正是你想要的,但如果你不想添加一个新的库,只需自己构建对象。具有两个属性(id和函数)的简单pojo应该可以做到这一点。
您的评论似乎导致我的解决方案,但我所说的任务更多的是一种功能,如功能1();.我很抱歉我把它称为任务,你知道如何改变它吗? – Flippy
Like Stocker(String funcname,String id),然后获取字符串名称来调用函数? – Flippy
对不起,也许我不明白你在问什么,你是否试图存储一个函数并在以后得到它? – GoldenBolt