Java 向Arraylist动态添加圆
在发布这篇文章之前,我寻找了类似的问题,这些解决方案无助于回答我的问题 我已经通过使用数组解决了这个问题,但是使用ArrayList会更好。我创建了一个事件,用于检查是否单击鼠标左键以创建圆形对象并将其添加到列表中。问题是,当我使用这段代码时,arrayList中没有添加圆圈,也没有编译错误。如何从ArrayList向窗格中添加圆Java 向Arraylist动态添加圆,java,arraylist,javafx,Java,Arraylist,Javafx,在发布这篇文章之前,我寻找了类似的问题,这些解决方案无助于回答我的问题 我已经通过使用数组解决了这个问题,但是使用ArrayList会更好。我创建了一个事件,用于检查是否单击鼠标左键以创建圆形对象并将其添加到列表中。问题是,当我使用这段代码时,arrayList中没有添加圆圈,也没有编译错误。如何从ArrayList向窗格中添加圆 public class test extends Application { static int index = 0;
public class test extends Application {
static int index = 0;
@Override
public void start(Stage primaryStage) throws Exception {
Pane = pane = new Pane();
ArrayList<Circle> circles = new ArrayList<Circle>();
pane.setOnMouseClicked( e -> {
if (e.getButton() == MouseButton.PRIMARY) {
circles.add(new Circle(e.getX(), e.getY(), 5));
circles.get(index).setStroke(Color.BLACK);
circles.get(index).setFill(Color.WHITE);
index++;
}
});
pane.getChildren().addAll(circles);
Scene scene = new Scene(pane, 400, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
公共类测试扩展应用程序{
静态int指数=0;
@凌驾
public void start(Stage primaryStage)引发异常{
窗格=窗格=新窗格();
ArrayList圆圈=新的ArrayList();
窗格。设置鼠标单击(e->{
如果(例如getButton()==MouseButton.PRIMARY){
添加(新的圆(e.getX(),e.getY(),5));
圆圈.get(索引).setStroke(颜色.黑色);
圆.get(index).setFill(Color.WHITE);
索引++;
}
});
pane.getChildren().addAll(圆);
场景=新场景(窗格,400400);
初级阶段。场景(场景);
primaryStage.show();
}
公共静态void main(字符串[]args){
发射(args);
}
}
创建圆时,只需将圆和数组列表添加到窗格中即可:
pane.setOnMouseClicked( e -> {
if (e.getButton() == MouseButton.PRIMARY) {
Circle circle = new Circle(e.getX(), e.getY(), 5) ;
circles.add(circle);
pane.getChildren().add(circle);
circle.setStroke(Color.BLACK);
circle.setFill(Color.WHITE);
// not sure what index is for. Looks like it would always be
// equal to circles.size()
index++;
}
});
您是否尝试调用
pane.getChildren().addAll(圆圈)代码>在事件句柄中为什么您认为圆没有添加到数组列表中?它似乎可以添加圆圈。@James\u当我单击时,它没有显示在窗格中。@mad\n我现在就试试。为我缺乏读心能力道歉。