我有一个 Pane 对象,用户可以在其中拖放各种 ImageView。为此,我使用了
pane.getChildren(imageViewObject)
方法
现在用ScrollPane替换Pane后,就没有这个方法了。所以我不知道如何解决这个问题。
提前致谢
最佳答案
ScrollPane
只能指定一个节点。要创建具有多个组件的 ScrollView ,请使用布局容器或 Group 类。
Pane pane = ...;
ScrollPane sp = new ScrollPane();
sp.setContent(pane);
示例:
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ScrollPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
/**
*
* @author kachna
*/
public class Test extends Application {
@Override
public void start(Stage stage) throws Exception {
VBox root = new VBox();
root.getChildren().addAll(new Button("button1"), new Button("button2"), new Button("button3"));
root.setSpacing(10);
root.setPadding(new Insets(10));
ScrollPane sp = new ScrollPane();
sp.setContent(root);
sp.setPannable(true); // it means that the user should be able to pan the viewport by using the mouse.
Scene scene = new Scene(sp, 100, 100);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
关于JavaFX:将 child 添加到 ScrollPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38546860/