2017-09-01 46 views
1

我想要的应用程序图标添加到我的计划。我想这样做如下,但都没有奏效:JavaFX的:添加应用程序图标与FXML

primaryStage.getIcons().add(new Image(Main.class.getResourceAsStream("lock.png"))); 
    primaryStage.getIcons().add(new Image(Controller.class.getResourceAsStream("lock.png"))); 
    final Parent root = FXMLLoader.load(getClass().getResource("passwordGenerator.fxml")); 

primaryStage.getIcons().add(new Image("lock.png")); 

我也想这样做没有FXML文件和它的工作。

我如何添加一个FXML文件的应用程序图标?

+0

[JavaFX应用程序图标](可能的重复https://stackoverflow.com/ questions/10121991/javafx-application-icon) –

+0

你的形象和你的主类是在同一个包里? –

+0

@MenaiAlaEddine这个答案并没有为我工作 –

回答

0

这里的解决方案它与我: 主类:

public class JavaFXIcons extends Application { 
@Override 
public void start(Stage stage) throws Exception { 
    Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); 

    Scene scene = new Scene(root); 
    stage.getIcons().add(new Image(JavaFXIcons.class.getResourceAsStream("stackoverflow.jpg"))) ; 
    stage.setScene(scene); 
    stage.show(); 
} 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    launch(args); 
    } 
} 

FXML文件:

<?xml version="1.0" encoding="UTF-8"?> 
<?import java.lang.*?> 
<?import java.util.*?> 
<?import javafx.scene.*?> 
<?import javafx.scene.control.*?> 
<?import javafx.scene.layout.*?> 
<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javafxicons.FXMLDocumentController"> 
    <children> 
     <Button layoutX="126" layoutY="90" text="Click Me!" onAction="#handleButtonAction" fx:id="button" /> 
     <Label layoutX="126" layoutY="120" minHeight="16" minWidth="69" fx:id="label" /> 
    </children> 
</AnchorPane>