我可以使用setVvalue(double)和setHvalue(double)方法在JavaFX ScrollPane中移动视口.我正在努力做的是根据其位置将特定节点置于滚动窗格的内容中.我尝试了各种localToScene()和boundsInParent()的组合.我已阅读(很多)并看过这个例子
哪个接近但不使对象居中只是让它们可见.内置鼠标平移功能非常出色,但我正在进行程序化平移的恶劣天气.
最终我需要能够进行缩放,所以我将实际形状放在一个组中,并将该组添加到滚动窗格内容中.我想我应该对组进行缩放,然后我需要能够围绕组的中心进行缩放,以便我们回到操作并识别当前的中心位置.任何可以提供的指针或示例都会非常感激.上面链接中的代码示例是一个很好的SSCCE.
提前致谢,
安迪
我正在一个多人游戏中进行游说,可能会在桌子上显示任意数量的玩家.我有以下代码:
camera = new OrthographicCamera(WIDTH,HEIGHT);
camera.position.set(WIDTH/2,HEIGHT/2, 0);
camera.update();
stage = new Stage();
Gdx.input.setInputProcessor(stage);
stage.setCamera(camera);
stage.setViewport(WIDTH,HEIGHT,false);
ScrollPaneStyle paneStyle = new ScrollPaneStyle();
paneStyle.background = new TextureRegionDrawable(WizardsDuel.atlas.findRegion("cavebg"));
paneStyle.vScrollKnob = new TextureRegionDrawable(WizardsDuel.atlas.findRegion("GUI/slidernob"));
paneStyle.hScroll = paneStyle.hScrollKnob = paneStyle.vScroll = paneStyle.vScrollKnob;
Table container = new Table();
table = new Table();
ScrollPane pane = new ScrollPane(table,paneStyle);
container.add(pane).width(WIDTH).height(HEIGHT);
container.row();
container.setBounds(0,0,WIDTH,HEIGHT);
stage.addActor(container);
font = new BitmapFont();
color = new Color(0,0,0,1);
style = new TextButtonStyle();
style.font = font;
style.up = new TextureRegionDrawable(WizardsDuel.atlas.findRegion("GUI/guibg"));
style.fontColor = color;
handler = new ChangeHandler();
ArrayList<User> …Run Code Online (Sandbox Code Playgroud) 我有一个带有各种TitledPane的scrollPane,每个TitledPane都有各种文本字段作为子项.当我使用Tab键在整个文本字段中导航时,滚动窗格不会自动滚动以确保控件获得焦点可见.这是一个展示问题的程序.
import java.util.Random;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.control.TitledPane;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class ScrollPaneEnsureVisible extends Application {
private static final Random random = new Random();
@Override
public void start(Stage primaryStage) {
VBox root = new VBox();
ScrollPane scrollPane = new ScrollPane();
Pane content = new Pane();
scrollPane.setContent(content);
for (int i = 0; i < 3; i++) {
TitledPane pane = new TitledPane();
AnchorPane paneContent = new AnchorPane();
for (int j …Run Code Online (Sandbox Code Playgroud) 我需要在一个更大的滚动窗格内使用JavaFX 2.2 TreeView控件,该滚动窗口有几个不属于Treeview的其他元素.问题是TreeView有自己的内置滚动窗格.有没有人有一个关闭内置滚动窗格的方法的例子,以便TreeView的增长与其中包含的项目一样大?
我想知道JavaFX 8中是否有ScrollPane属性可用于侦听当前在给定时间显示的组件.例如,ScrollPane有一个VBox,它有8个按钮.滚动窗格中只能看到4个按钮.我想要一个监听器,它会在滚动位置发生变化时显示8个按钮中的4个.
我有一个Pane对象,用户可以在其中拖放各种ImageView.为此,我使用了
pane.getChildren(imageViewObject)
方法
现在,在用ScrollPane替换Pane之后,它没有这个方法.所以我不知道如何解决这个问题.
先感谢您
我有一个具有缩放和缩放功能的JAVAFX应用程序,如下所述:
在已缩放节点中的枢轴点缩放
我需要实现的是将图像放置在右侧窗格中,并将图像保留在左侧,如下图所示。

问题 我如何将这个应用程序嵌入SPlitPane,左边是另一个面板。
SplitPane splitPane = new SplitPane();
splitPane.getItems().add(new Label("Left Panel"));
splitPane.getItems().add(group);
Scene scene = new Scene(splitPane, 1024, 768);
Run Code Online (Sandbox Code Playgroud)
不幸的是,代码导致错误的坐标,
如何在特定位置修复 ScrollPane 滚动条位置,以便它显示例如它的子表的最后一项而不是第一项表(默认)?我尝试 setScrollX 和 setScrollY 但它不起作用。
我有一个游戏级别菜单(有很多级别),我想在打开该菜单时向用户显示最后解锁的级别。
我的应用程序中有指导文本,我将其放在标签中并且是滚动窗格的子项。但文本太长,我无法通过滚动条获取标签中的所有文本。知道如何设置滚动窗格的滚动条的尺寸以获取标签中的整个文本。我使用过 JavaFX 场景生成器。
我尝试过的:
scrollPane.setScrollPercentY(100);
Run Code Online (Sandbox Code Playgroud)
和
scrollPane.setScrollY(1);
Run Code Online (Sandbox Code Playgroud)
要么
scrollPane.setScrollY(0);
但它只滚动到顶部,而不是滚动到底部.