[英]Align JavaFX MenuItem Text on Center
我正在尝试使用 css 将下面的自定义MenuItem
文本的对齐方式更改为中心,但我无法实现它,我得到以下信息:
使用文本Label
并且鼠标不悬停在LabelMenuItem
:
使用common
文本,鼠标悬停在LabelMenuItem
:
图 3 [问题是 Label 宽度小于 ContextMenu 宽度]:
如您所见,它位于Left
。 我已经尝试了所有使用 css 的方法,但它只是不想改变它的位置
我想达到什么目标?
我需要在一些ContextMenu
MenuItems
上方添加标签。 我做到了,但现在我需要该标签的-Text-alignment-
位于中心。
CSS 代码(更新,显示标签宽度问题):
/*******************************************************************************
* Label-Menu-Item *
******************************************************************************/
.label-menu-item .label{
-fx-text-alignment:center;
}
.label-menu-item .label .text{
-fx-text-alignment:center;
}
/* When the Label-Menu-Item is disabled [Always it is cause i don't want the user to be able to click it] */
.label-menu-item:disabled {
-fx-opacity: 1.0;
-fx-border-color:transparent white white white;
-fx-cursor:default;
}
.label-menu-item:disabled:hover{
-fx-background-color: blue;
}
.label-menu-item:disabled .label {
-fx-opacity: 1.0;
-fx-font-size:10.0;
-fx-font-weight:bold;
-fx-text-fill:white;
-fx-text-alignment:center;
}
.label-menu-item:disabled:hover .label {
-fx-background-color: firebrick;
}
标签菜单项.java:
import javafx.scene.control.MenuItem;
/**
* @author GOXR3PLUS
*
*/
public class LabelMenuItem extends MenuItem {
/**
* Constructor
*
* @param text
* The Text of The Menu Item
*
*/
public LabelMenuItem(String text) {
setText(text);
setDisable(true);
getStyleClass().clear();
getStyleClass().add("label-menu-item");
}
}
如果你试试这个:
.label-menu-item .label{
//and here
-fx-text-alignment:center;
}
.label-menu-item .label .text{
//and here
-fx-text-alignment:center;
}
而不是这个:
.menu-item .label{
//and here
-fx-text-alignment:center;
}
.menu-item .label .text{
//and here
-fx-text-alignment:center;
}
它有效吗?
如果不是,也许Label
直到右边框才扩展(即具有完全文本的大小,因此不同的对齐方式不会改变任何东西)? 然后尝试更改Label
的宽度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.