Javafx 2 javafx2中的菜单项工具提示
javafx2中有两个问题Javafx 2 javafx2中的菜单项工具提示,javafx-2,Javafx 2,javafx2中有两个问题 如何设置菜单项的工具提示 如何设置菜单项的大小(宽度) 如果您有答案,请告诉我。这两个问题的答案直接发送给该类,该类将包装任意节点并将其放入菜单中。 例如,以下内容在菜单中创建具有特定宽度、高度和工具提示的矩形: public void start(final Stage stage) throws Exception { Group root = new Group(); final Menu menu1 = new Menu("File");
如果您有答案,请告诉我。这两个问题的答案直接发送给该类,该类将包装任意节点并将其放入菜单中。 例如,以下内容在菜单中创建具有特定宽度、高度和工具提示的矩形:
public void start(final Stage stage) throws Exception {
Group root = new Group();
final Menu menu1 = new Menu("File");
MenuBar menuBar = new MenuBar();
menuBar.getMenus().add(menu1);
MenuItem menu12 = new MenuItem("Open");
menu1.getItems().add(menu12);
Rectangle rect = new Rectangle();
rect.setHeight(100);
rect.setWidth(100);
Tooltip t = new Tooltip("A Rectangle ToolTip");
Tooltip.install(rect, t);
CustomMenuItem customMenuItem = new CustomMenuItem(rect);
customMenuItem.setHideOnClick(false);
menu1.getItems().add(customMenuItem);
root.getChildren().add(menuBar);
Scene scene = new Scene(root,800,600);
stage.setScene(scene);
stage.show();
}
1-在菜单项上安装工具提示
如您所知,要将工具提示绑定到JavaFX图形对象foo
:
Tooltip.install(foo, tooltip);
此静态实用程序要求提供的对象扩展节点,而菜单项不扩展节点
但是,它的CustomMenuItem子类可以解决您的问题。直接引自:
一种菜单项,通过将节点分配给内容属性,允许在其中嵌入任意节点。CustomMenuItem尝试使任意节点在菜单中显示得更自然。例如,当用户将鼠标悬停在节点上(或使用键盘或其他替代方式导航到节点)时,将自动获得悬停高亮显示
例如,要创建外观和行为与常规菜单项完全相同的自定义菜单项,请执行以下操作:
CustomMenuItem openMenuItem = new CustomMenuItem(new Label("Open"));
然后,您可以将工具提示附加到其包装内容(即节点):
如果要将CustomMenuItem与其他类型的节点一起使用,请务必查看,特别是有关setHideOnClick
的部分,但这不是主题
2-调整菜单项的大小
不能调整菜单项的大小,但可以使用允许该菜单项的节点,并再次将其包装到自定义菜单项中:
Label closeLabel = new Label("Close");
closeLabel.setPrefWidth(400); // Overly large menu item
CustomMenuItem closeMenuItem = new CustomMenuItem(closeLabel);
你知道为什么加速器不能与
CustomMenuItem
配合使用吗?问题:
Tooltip.install(openMenuItem.getContent(), tooltip);
Label closeLabel = new Label("Close");
closeLabel.setPrefWidth(400); // Overly large menu item
CustomMenuItem closeMenuItem = new CustomMenuItem(closeLabel);