【发布时间】:2017-07-14 04:29:57
【问题描述】:
我正在尝试使用 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;
}
LabelMenuItem.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");
}
}
【问题讨论】:
-
尝试制作
MenuItem Label Width == ContextMenu Width这似乎是css-fx-pref-width:infinity[bugs.openjdk.java.net/browse/JDK-8096649] 的问题,它说已解决,但是当我添加无穷大时,上下文菜单会爆炸(没有显示任何内容) :) -
@James_D 你能提供一些帮助吗? :) 我会永远高兴..
标签: java javafx text-alignment text-align