JavaFX Menu控件如何实现图标在上文字在下的显示效果
你可以通过设置-fx-content-display CSS属性实现需求,在原有代码基础上补充属性即可:
#mnAdmin > .label { -fx-graphic: url("../images/Admin-icon32.png"); /* 指定图标显示在文字上方,文字自动排列在图标下方 */ -fx-content-display: top; /* 可选:调整图标与文字之间的垂直间距,数值可自定义 */ -fx-graphic-text-gap: 3px; }
如果需要通过Java代码实现,也可以直接操作Menu实例:
import javafx.scene.control.ContentDisplay; // mnAdmin为你id对应的Menu对象 mnAdmin.setContentDisplay(ContentDisplay.TOP); // 可选设置图标与文字的间距 mnAdmin.setGraphicTextGap(3);
说明
-fx-content-display是JavaFX中所有继承Labeled的控件(Menu、Button、Label等都属于这类)的通用属性,用于指定图形和文本的相对位置,除top外还有bottom/left/right等可选值,可根据实际需求调整。
内容的提问来源于stack exchange,提问作者Renoj Joseph
相关产品推荐
相关产品推荐

