2016-11-26 5 views
0

AnchorPaneButtonsという複数のCustomNodesを作成します。 私のノードはButtonに作成されます。ボタン 'task1'をクリックするとLabel 'task1'の新しいノードが作成され、IDが作成されます。 これらのカスタムノードには複数のタスク(task1、task2など)があり、異なるButtonイベントで作成されます。 私はArrayListを持っていますが、私はこれらのIDを保存しています(ただし、すべてのIDは同じリストに保存されています)。複数のエントリをリストに追加して注文を受け取ります

2つのアイテムを1つのリストインデックス(id + function)に格納できますか?私がタスク1を押したときのようにButton私はidとfunction task1を同じインデックスに保存したい。私がtask2 Buttonを押すと、id + task2関数を同じリストのすぐ後ろに格納したいと思います。

私の質問の別のポイントは、私はIDの順序を得ることができますか?私は、ソースとターゲットCustomNodesを登録

public void bindEnds (DragNode source, DragNode target) { 
//Code above 
     source.registerLink (getId()); 
     target.registerLink (getId()); 
} 

public void registerLink(String linkId) { 
    mLinkIds.add(linkId); 
} 

:私は私の機能を持って、このリンククラスで、CubicCurves経由で私のノードを接続します。 私のノードには、2つのCircles(左右に)あります。左Circleは入力、右出力とします。左/右Circleが接続されているかどうか確認したい左が接続されていなくても右の場合は、それが私のリストの最初の項目になります。両方が接続されている場合は、注文が必要です。

答えて

0

ちょうどこのように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(); 
+0

コメントを溶液に私をリードしているようだが、私はタスクと呼ばれる何が機能1のように、機能よりは();.私はそれをタスクと呼んで申し訳ありません、あなたはこれを変更する方法を知っていますか? – Flippy

+0

Stocker(String funcname、String id)と同様に、関数を呼び出すためにString名を取得しますか? – Flippy

+0

申し訳ありませんが、あなたが求めていることを理解していない可能性があります。関数を保存して後で取得しようとしていますか? – GoldenBolt

0

ライブラリーhttp://www.javaslang.io/はすでにタイプタプルを定義しています。これはあなたが望むものですが、新しいライブラリーを追加したくない場合は、自分でオブジェクトを作成してください。 2つの属性(idと関数)を持つ単純なpojoはこのトリックを行うべきです。

関連する問題