我怎样才能让它显示 10,11,12,13.... 而不是...在 javafx 中。我尝试使用所有这些 setPrefWidth, maxSize 但无法工作
Posted
技术标签:
【中文标题】我怎样才能让它显示 10,11,12,13.... 而不是...在 javafx 中。我尝试使用所有这些 setPrefWidth, maxSize 但无法工作【英文标题】:How can I make it show 10,11,12,13.... instead of ... in javafx.I have try to use all those setPrefWidth, maxSize but cannot work 【发布时间】:2021-12-31 04:18:49 【问题描述】:private HBox buttonBar;
private ScrollPane questionScroll;
private ArrayList<Button> btnList = new ArrayList<>();
public QuestionNavigationBar(int quesNo)
questionScroll = new ScrollPane();
questionScroll.setVbarPolicy(ScrollBarPolicy.NEVER);
buttonBar = new HBox();
init(quesNo);
questionScroll.setFitToWidth(true);
questionScroll.setContent(buttonBar);
questionScroll.setPrefWidth(400);
buttonBar.setStyle("-fx-border-color:cyan; -fx-border-width: 5;");
buttonBar.setPadding(new Insets(10, 0, 20, 0));
//create buttons for each map entry
public void init(int quesNo)
int counter = 1;
while (counter <= quesNo)
Button btnTmp = new Button(Integer.toString(counter));
btnTmp.setMaxSize(50, 50);
btnTmp.setStyle("-fx-background-color: white; ");
buttonBar.getChildren().add(btnTmp);
getBtnList().add(btnTmp);
counter++;
这是我的输出,所以按钮无法显示两位整数。我已尝试使用所有这些 setPrefWidth、maxSize 但无法正常工作。
【问题讨论】:
不要硬编码大小提示 【参考方案1】:如果没有足够的空间来显示文本,标签将省略(用点截断文本)。
如果您希望防止这种情况发生,请将最小尺寸设置为首选尺寸。
button.setMinSize(
Region.USE_PREF_SIZE,
Region.USE_PREF_SIZE
);
请参阅 javadoc:USE_PREF_SIZE。
学习:Oracle’s layout tutorial.
另外,确保按钮的首选大小没有明确设置,以便布局可以适当地计算它,并且不要将最大大小设置为小于最小大小的值。
【讨论】:
以上是关于我怎样才能让它显示 10,11,12,13.... 而不是...在 javafx 中。我尝试使用所有这些 setPrefWidth, maxSize 但无法工作的主要内容,如果未能解决你的问题,请参考以下文章