我有一个应用程序,有一个非常动态的按钮条,大约一个到十二个左右的按钮,改变文本和功能与当前屏幕和/或选定的记录。我正在使用ButtonBar来显示它们。
当文本太大时,栏中的按钮会按其应有的方式包装它们的文本,但我最后会遇到这样一个愚蠢的情况:

按钮高度不同!我希望ButtonBar给我提供管理良好的按钮,如下所示:

我可以通过将每个按钮分成三行来欺骗。这就造成了一种小按钮在太空中游动的情况:

(如果我使用两行,就会得到较少的浪费空间,这很好,但单行文本不再居中,这看起来也很糟糕。)
现在,我唯一能想到的是,在条形渲染后,扫描所有按钮中最高的一个,然后相应地调整其他按钮。ButtonBar具有宽度,这是很好的(但实际上可能不像所有的按钮一样高)。被误导的"UniformButtonSize“就是这么做的。
我想知道我是否可以用CSS来完成这个任务,也许可以按百分比设置按钮高度。如有任何建议,将不胜感激!
发布于 2021-11-13 03:28:59
这有点俗气,但它似乎起了作用:
public void adjustButtons() {
var tallest = 0.0;
for (Node n : buttonBar.getButtons()) {
var ht = ((Button) n).getHeight();
if (tallest < ht) tallest = ht;
}
for (Node n : buttonBar.getButtons()) {
((Button) n).setMinHeight(tallest);
}
}所以,每当按钮栏中的按钮发生变化,你就会触发这个按钮,它会找到最高的按钮,然后它就会将所有的按钮设置到这个高度。
评论?
https://stackoverflow.com/questions/68240686
复制相似问题