如何在锚点布局中的按钮上添加工具提示?

huangapple 未分类评论53阅读模式
英文:

How to add Tooltips to button in an anchorpane?

问题

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?import javafx.scene.control.Button?>
  3. <?import javafx.scene.control.Label?>
  4. <?import javafx.scene.control.MenuButton?>
  5. <?import javafx.scene.control.MenuItem?>
  6. <?import javafx.scene.control.ScrollBar?>
  7. <?import javafx.scene.image.Image?>
  8. <?import javafx.scene.image.ImageView?>
  9. <?import javafx.scene.layout.AnchorPane?>
  10. <AnchorPane id="AnchorPane" prefHeight="800.0" prefWidth="1855.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="calibre.FXMLDocumentController">
  11. <children>
  12. <Button fx:id="button" layoutX="6.0" layoutY="7.0" onAction="#handleAddBookButtonAction" prefHeight="32.0" prefWidth="200.0" text="Add Books">
  13. <tooltip><Tooltip text="my tooltip" /></tooltip>
  14. </Button>
  15. <Label fx:id="label" layoutX="6.0" layoutY="7.0" minHeight="16" minWidth="69" />
  16. <Button layoutX="274.0" layoutY="7.0" mnemonicParsing="false" onAction="#handleEditMetadataButtonAction" prefHeight="32.0" prefWidth="200.0" stylesheets="@style.css" text="Edit Metadata" />
  17. <Button layoutX="564.0" layoutY="7.0" mnemonicParsing="false" onAction="#handleFetchNewsButtonAction" prefHeight="32.0" prefWidth="200.0" text="Fetch News" />
  18. <Button layoutX="839.0" layoutY="7.0" mnemonicParsing="false" onAction="#handleRemoveButtonAction" prefHeight="32.0" prefWidth="200.0" text="Remove" />
  19. <Button layoutX="1225.0" layoutY="9.0" mnemonicParsing="false" onAction="#handleLibraryButtonAction" prefHeight="32.0" prefWidth="200.0" text="Library" />
  20. <MenuButton layoutX="1607.0" layoutY="11.0" minWidth="200.0" mnemonicParsing="false" text="MenuButton" textFill="#eeeeee">
  21. <items>
  22. <MenuItem mnemonicParsing="false" text="Action 1" />
  23. <MenuItem mnemonicParsing="false" text="Action 2" />
  24. </items>
  25. </MenuButton>
  26. <ImageView fitHeight="564.0" fitWidth="358.0" layoutX="747.0" layoutY="166.0" pickOnBounds="true" preserveRatio="true">
  27. <image>
  28. <Image url="@Books/1.png" />
  29. </image>
  30. </ImageView>
  31. <ScrollBar layoutX="54.0" layoutY="773.0" prefHeight="18.0" prefWidth="1781.0" />
  32. <ImageView fitHeight="564.0" fitWidth="358.0" layoutX="149.0" layoutY="180.0" pickOnBounds="true" preserveRatio="true">
  33. <image>
  34. <Image url="@Books/4.jpg" />
  35. </image>
  36. </ImageView>
  37. <ImageView fitHeight="564.0" fitWidth="358.0" layoutX="1325.0" layoutY="159.0" pickOnBounds="true" preserveRatio="true">
  38. <image>
  39. <Image url="@Books/3.png" />
  40. </image>
  41. </ImageView>
  42. <Button layoutX="382.0" layoutY="722.0" mnemonicParsing="false" onAction="#handleReadHemingwayButtonAction" onDragOver="#handleReadBookHoverTip" text="Read" />
  43. <Button layoutX="985.0" layoutY="722.0" mnemonicParsing="false" onAction="#handleReadGentlemanButtonAction" text="Read" />
  44. <Button layoutX="1580.0" layoutY="731.0" mnemonicParsing="false" onAction="#handleReadFlowersButtonAction" text="Read" />
  45. </children>
  46. </AnchorPane>

在锚点面板中,将工具提示添加到按钮上的代码已经在你的FXML文件中。如果您遇到工具提示在锚点面板中不起作用的问题,可能是由于某些其他因素引起的。检查您的代码是否有错误,确保在FXML控制器中正确处理按钮的handleAddBookButtonAction动作,以便工具提示能够显示。同时,锚点面板本身并不影响工具提示的显示

英文:

I have some buttons inside an anchorpane and want to know how I can add Tooltips to a button.
This is my fxml file

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?import javafx.scene.control.Button?>
  3. <?import javafx.scene.control.Label?>
  4. <?import javafx.scene.control.MenuButton?>
  5. <?import javafx.scene.control.MenuItem?>
  6. <?import javafx.scene.control.ScrollBar?>
  7. <?import javafx.scene.image.Image?>
  8. <?import javafx.scene.image.ImageView?>
  9. <?import javafx.scene.layout.AnchorPane?>
  10. <AnchorPane id="AnchorPane" prefHeight="800.0" prefWidth="1855.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="calibre.FXMLDocumentController">
  11. <children>
  12. <Button fx:id="button" layoutX="6.0" layoutY="7.0" onAction="#handleAddBookButtonAction" prefHeight="32.0" prefWidth="200.0" text="Add Books" />
  13. <tooltip><Tooltip text="my tooltip" /></tooltip>
  14. </Button>
  15. <Label fx:id="label" layoutX="6.0" layoutY="7.0" minHeight="16" minWidth="69" />
  16. <Button layoutX="274.0" layoutY="7.0" mnemonicParsing="false" onAction="#handleEditMetadataButtonAction" prefHeight="32.0" prefWidth="200.0" stylesheets="@style.css" text="Edit Metadata" />
  17. <Button layoutX="564.0" layoutY="7.0" mnemonicParsing="false" onAction="#handleFetchNewsButtonAction" prefHeight="32.0" prefWidth="200.0" text="Fetch News" />
  18. <Button layoutX="839.0" layoutY="7.0" mnemonicParsing="false" onAction="#handleRemoveButtonAction" prefHeight="32.0" prefWidth="200.0" text="Remove" />
  19. <Button layoutX="1225.0" layoutY="9.0" mnemonicParsing="false" onAction="#handleLibraryButtonAction" prefHeight="32.0" prefWidth="200.0" text="Library" />
  20. <MenuButton layoutX="1607.0" layoutY="11.0" minWidth="200.0" mnemonicParsing="false" text="MenuButton" textFill="#eeeeee">
  21. <items>
  22. <MenuItem mnemonicParsing="false" text="Action 1" />
  23. <MenuItem mnemonicParsing="false" text="Action 2" />
  24. </items>
  25. </MenuButton>
  26. <ImageView fitHeight="564.0" fitWidth="358.0" layoutX="747.0" layoutY="166.0" pickOnBounds="true" preserveRatio="true">
  27. <image>
  28. <Image url="@Books/1.png" />
  29. </image></ImageView>
  30. <ScrollBar layoutX="54.0" layoutY="773.0" prefHeight="18.0" prefWidth="1781.0" />
  31. <ImageView fitHeight="564.0" fitWidth="358.0" layoutX="149.0" layoutY="180.0" pickOnBounds="true" preserveRatio="true">
  32. <image>
  33. <Image url="@Books/4.jpg" />
  34. </image>
  35. </ImageView>
  36. <ImageView fitHeight="564.0" fitWidth="358.0" layoutX="1325.0" layoutY="159.0" pickOnBounds="true" preserveRatio="true">
  37. <image>
  38. <Image url="@Books/3.png" />
  39. </image>
  40. </ImageView>
  41. <Button layoutX="382.0" layoutY="722.0" mnemonicParsing="false" onAction="#handleReadHemingwayButtonAction" onDragOver="#handleReadBookHoverTip" text="Read" />
  42. <Button layoutX="985.0" layoutY="722.0" mnemonicParsing="false" onAction="#handleReadGentlemanButtonAction" text="Read" />
  43. <Button layoutX="1580.0" layoutY="731.0" mnemonicParsing="false" onAction="#handleReadFlowersButtonAction" text="Read" />
  44. </children>
  45. </AnchorPane>

But it says tooltips don't exist in Anchorpanes.
Does this mean I need to change from an Anchorpane, if so what are my alternatives.
I'm doing this in Netbeans.

Warm Regards

答案1

得分: 0

如果您有控制器类,您可以在initialize方法内从该方法中获取tooltip

  1. yourBtnId.setTooltip(new Tooltip("添加客户"));

如果您正在使用XML编辑,

  1. <Button>
  2. <tooltip>
  3. <Tooltip textAlignment="CENTER" text="你好" />
  4. </tooltip>
  5. </Button>

在您的XML文件中,删除所有的button标签,然后粘贴如下内容:

  1. <Button fx:id="button" layoutX="6.0" layoutY="7.0" onAction="#handleAddBookButtonAction" prefHeight="32.0" prefWidth="200.0" text="添加图书">
  2. <tooltip>
  3. <Tooltip text="我的工具提示" />
  4. </tooltip>
  5. </Button>

您的错误是Button标签在添加工具提示/&gt;之前已经关闭。

英文:

if you have controller class you can get tooltip from this method inside the initialize method

  1. yourBtnId.setTooltip(new Tooltip(&quot;Add Customer&quot;));

If you are using XML editing

  1. &lt;Button&gt;
  2. &lt;tooltip&gt;&lt;Tooltip textAlignment=&quot;CENTER&quot; text=&quot;HELLO&quot; /&gt;&lt;/tooltip&gt;
  3. &lt;/Button&gt;

in your XML file remove your all button tag and paste this

  1. &lt;Button fx:id=&quot;button&quot; layoutX=&quot;6.0&quot; layoutY=&quot;7.0&quot; onAction=&quot;#handleAddBookButtonAction&quot; prefHeight=&quot;32.0&quot; prefWidth=&quot;200.0&quot; text=&quot;Add Books&quot;&gt;
  2. &lt;tooltip&gt;&lt;Tooltip text=&quot;my tooltip&quot; /&gt;&lt;/tooltip&gt;
  3. &lt;/Button&gt;

your mistake is Button tag is closing before you add the tooltip /&gt;

huangapple
  • 本文由 发表于 2020年5月2日 14:48:57
  • 转载请务必保留本文链接:https://java.coder-hub.com/61555521.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定