我试图创建一个圆圈,里面有一个图像,上面有文字。
所以我有一个 ArrayList
包含多个
StackPanes private ArrayList<Circle> castCircles = new ArrayList<>();
堆栈窗格由 Circle
和一个 Text
节点。在这两个函数中,我将创建一个堆栈窗格并将其添加到 ArrayList
的 StackPanes
```
public VBox addCrew(PersonCrew person){
VBox test = new VBox();
test.setPadding(new Insets(10,10,10,10));
StackPane personImageCircle = createCreditsImage();
crewCircles.add(personImageCircle);
Label personName = createCreditsLabel(person.getName());
Label personRole = createCreditsLabel(person.getDepartment());
test.getChildren().addAll(personImageCircle, personName, personRole);
return test;
}
public StackPane createCreditsImage(){
StackPane stack = new StackPane();
Text text = new Text();
text.setFont(castFont);
Circle cir2 = new Circle(50,50,50);
cir2.setFill(Color.rgb(128, 128, 128, 0.1));//new ImagePattern(new Image("file:cast.jpg")));
cir2.setStroke(Color.rgb(128, 128, 128, 0.2));
cir2.setStrokeType(StrokeType.OUTSIDE);
cir2.setStrokeWidth(5);
stack.getChildren().addAll(cir2, text);
stack.setLayoutX(30);
stack.setLayoutY(30);
return stack;
}
当我试图得到a时问题就出现了 `Circle` 从数组的stackpane中选择节点并编辑 `Circle` 节点。
for(int i=0; i<crew.size(); i++){
if(crew.get(i).getProfilePath() != "") {
crewCircles.get(i).getChildren().get(0).setFill(new ImagePattern((new Image("https://image.tmdb.org/t/p/w185" + crew.get(i).getProfilePath())), 0, -20, 100, 150, false));
}
}
这条线给我添麻烦了。 `crewCircles.get(i).getChildren().get(0).setFill(new ImagePattern((new Image("https://image.tmdb.org/t/p/w185" + crew.get(i).getProfilePath())), 0, -20, 100, 150, false));` 特别是 `...getChildren().get(0).setFill...` 我得到一个 `Cannot resolve method 'setFill' in 'Node'` 错误。
暂无答案!
目前还没有任何答案,快来回答吧!