我在这里有一个右键菜单,如您所见,它显示得很好:
当我尝试向另一个表添加右键菜单时,它显示如下:
我可以重新对齐图形还是可以强制MenuItems
调整大小?
这是代码(我以相同的方式将其添加到两个表中):
ContextMenu contextMenu = new ContextMenu(TableCommons.getAttendanceMenuItem(30),
TableCommons.getAttendanceMenuItem(10),
TableCommons.getAttendanceMenuItem(5));
this.table.setContextMenu(contextMenu);
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIconView;
static MenuItem getAttendanceMenuItem(int number)
{
MenuItem attendanceMenuItem = new MenuItem(number + " day Attendance");
MaterialDesignIconView materialDesignIconView = new MaterialDesignIconView(MaterialDesignIcon.FILE_WORD_BOX);
materialDesignIconView.setSize("1em");
materialDesignIconView.setFill(Main.OFFICE_WORD_BLUE_COLOUR);
attendanceMenuItem.setGraphic(materialDesignIconView);
return attendanceMenuItem;
}
答案 0 :(得分:2)
我对此进行了调查:这是由于填充是在默认JavaFX样式表modena.css
中设置的。 OP并未明确说明其确切情况,但是在尝试向对话框中的项目添加上下文菜单时遇到了问题。菜单项的图形始终具有附加的填充。
我不是CSS专家,但是我认为来自modena.css
的令人讨厌的代码行如下:
.dialog-pane:no-header .graphic-container {
-fx-padding: 0.833em 0 0 0.833em; /* 10px 0px 0px 10px */
}
我可以通过将以下内容添加到自己的样式表中以覆盖默认值来对其进行修复:
.menu-item > .graphic-container {
-fx-padding: 0em 0.333em 0em 0em;
}