2016-04-04 26 views
0

JavaFx kullanarak bir uygulamada çalışıyorum, benim StackPane benim composant çoğaltmak istiyorum ve bir hata/özel durum var. Çocuklar: java.lang.IllegalArgumentException "JavaFX Uygulama İplik" dizisindekiİş parçacığı "JavaFX Uygulama Konu" özniteliğinde yinelenen çocuklar ekledi

İstisna:

final Button file = new Button("fichier"); 
file.setGraphic(new ImageView("/images/file.png")); 
final Image fichier_img = new Image("/images/file.png"); 
final StackPane paint = new StackPane(); 

ile.setOnAction(new EventHandler<ActionEvent>() { 
    public void handle(ActionEvent e) { 
     File fichier = new File(); 
     paint.getChildren().addAll(mes_images[0]); 
     //fichier.setPositionX(me.getSceneX()); 
    } 
}); 
paint.addEventHandler(MouseEvent.MOUSE_CLICKED, 
    new EventHandler<MouseEvent>() { 
     public void handle(MouseEvent e) { 
      if (e.getButton() == MouseButton.SECONDARY) 
       menu_gauche.show(paint, e.getScreenX(), e.getScreenY()); 
     } 
}); 

ve İşte benim hata iletisi ebeveyn = StackPane @ 658d001a JavaFX de: Çocukların eklendi çoğaltmak com.sun.javafx.collections.VetoableListDecorator.add de .scene.Parent $ 2.onProposedChange (Bilinmeyen Kaynak) (Bilinmeyen Kaynak)

cevap

0

mes_images[0] zaten StackPane'a eklenmiş gibi görünüyor, bu olmamalı. Yeni bir Image nesnesi oluşturun (bu bir resimdir) ve bu yeni örneği StackPane'a ekleyin, ardından her şey iyi durumda olacaktır. javadoc of Node kaynaktan

: Bir düğüm en fazla bir kere her yerde sahne grafiğinde oluşabilir

. Özel olarak, bir düğüm, aşağıdaki Sahne Alanı'nın kök düğümü olarak, Gözlemlenebilir Listesi veya bir Düğümün klibi olarak 'un tamamında bir kereden fazla görünmemelidir.