【发布时间】:2018-01-12 14:34:27
【问题描述】:
我有一个 ListView,里面有一些标签。标签的宽度属性绑定到 ListView 的宽度属性,但它们似乎稍大,这意味着列表视图上显示了水平滚动条。我想要的是在列表视图中放置标签,而底部没有滚动条。我查看了标签和列表视图上的各种填充和插入值,但我发现没有一个是罪魁祸首(大多数为零)。
这是一个演示问题的示例。
import javafx.application.Application;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.stage.Stage;
public class ListViewScrollExample extends Application {
private ListView<Node> listView;
@Override
public void start(Stage stage) throws Exception {
listView = new ListView<>();
addItem("Some quite long string to demonstrate the problem");
Scene scene = new Scene(listView);
stage.setScene(scene);
stage.show();
}
public void addItem(String item) {
Label label = new Label(item);
label.setWrapText(true);
label.maxWidthProperty().bind(listView.widthProperty());
listView.getItems().add(label);
}
public static void main(String[] args){
Application.launch(args);
}
}
【问题讨论】:
-
如果您允许文本换行,您希望如何计算宽度?我可以缩小列表视图,直到标签每行显示 1 个单词。
-
@user1803551 问题是滚动条出现在ListView的底部。包装按我的预期工作,但标签区域似乎延伸到一边,即使文本本身没有
-
所以你想去掉滚动条?喜欢this?
标签: java listview javafx layout scroll