0

嗨,我无法在我的 jfxtextfield 中添加图标,并且没有发现任何人可以提供帮助吗?

文件格式:

<VBox fx:id="root" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <HBox fx:id="boxLogo" alignment="CENTER" prefHeight="100.0" prefWidth="300.0">
         <children>
            <FontAwesomeIconView glyphName="HOME" size="50">
               <fill>
                  <LinearGradient endX="1.0" endY="1.0" startY="0.49047619047619045">
                     <stops>
                        <Stop color="#0d96ff" />
                        <Stop color="#010f1b" offset="1.0" />
                     </stops>
                  </LinearGradient>
               </fill>
            </FontAwesomeIconView>
         </children>
      </HBox>
      <GridPane fx:id="boxField" alignment="CENTER" prefHeight="222.0" prefWidth="300.0">
        <columnConstraints>
          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
        </columnConstraints>
        <rowConstraints>
          <RowConstraints maxHeight="131.0" minHeight="10.0" prefHeight="108.0" vgrow="SOMETIMES" />
          <RowConstraints maxHeight="142.0" minHeight="10.0" prefHeight="107.0" vgrow="SOMETIMES" />
            <RowConstraints maxHeight="142.0" minHeight="10.0" prefHeight="107.0" vgrow="SOMETIMES" />
        </rowConstraints>
         <children>
            <JFXTextField fx:id="userTxt" alignment="CENTER" focusColor="#1cffb3" labelFloat="true" maxWidth="-Infinity" prefWidth="200.0" text="Digite o seu Login" unFocusColor="#00fffb" GridPane.halignment="CENTER" />
            <JFXTextField alignment="CENTER" focusColor="#00ff77" maxWidth="-Infinity" prefWidth="200.0" text="Digite a sua senha" unFocusColor="#00fffb" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
            <JFXCheckBox text="Lembrar Usuario" GridPane.halignment="RIGHT" GridPane.rowIndex="2">
               <GridPane.margin>
                  <Insets right="50.0" />
               </GridPane.margin>
            </JFXCheckBox>
         </children>
      </GridPane>
      <HBox fx:id="boxButtons" alignment="TOP_CENTER" prefHeight="100.0" prefWidth="300.0" spacing="30.0">
         <children>
            <JFXButton buttonType="RAISED" prefHeight="25.0" prefWidth="86.0" ripplerFill="#09fff7" style="-fx-background-color: #0DA5E2;" text="Entrar" textFill="WHITE" textOverrun="CLIP">
               <font>
                  <Font name="Arial" size="12.0" />
               </font>
            </JFXButton>
         </children>
      </HBox>
   </children>
</VBox>

我的控制器:

public class MainController {

    @FXML
    private VBox root;

    @FXML
    private HBox boxLogo;

    @FXML
    private GridPane boxField;

    @FXML
    private HBox boxButtons;

    @FXML
    private JFXTextField userTxt;

    public void initialize() {
        FontAwesomeIconView icon = new FontAwesomeIconView(FontAwesomeIcon.USER);


    }
}

我想将我创建的图标添加到我的 textfiedl userTxt 我不知道这是否可以通过控制器或仅通过 css 来完成?

从我发现是通过css,但我需要添加一个带有照片的文件夹才能工作我想用图标做到这一点是可能的吗?

4

1 回答 1

0

我建议将其添加到您的控制器中:

myJFXTextField.setstyle("-fx-background 
image:url('http://icons.iconarchive.com/icons/rockettheme/halloween/32/pumpkin- 
icon.png');");

这在你的CSS中

.text-field {
  -fx-background-repeat: no-repeat;
  -fx-background-position: right center;
  -fx-font-size: 20;
}

您可以使用路径或 URL

于 2019-08-27T00:39:30.457 回答