14

私は試してみました

 stage.getIcons().add(new Image("attuncore.jpg")); 

しかし、私は何がうまくいかないのかわかりません..

助けてください。前もって感謝します。

4

6 に答える 6

52

初心者向けの完全なプログラム :) このプログラムは、スタック オーバーフロー アイコンを設定します。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class StackoverflowIcon extends Application {

    @Override
    public void start(Stage stage) {
        StackPane root = new StackPane();
        // set icon
        stage.getIcons().add(new Image("/path/to/stackoverflow.jpg"));
        stage.setTitle("Wow!! Stackoverflow Icon");
        stage.setScene(new Scene(root, 300, 250));
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

出力スクリーンショット

JavaFX スクリーンショット

JavaFX 8 用に更新

コードを変更する必要はありません。それはまだうまくいきます。Java 1.8(1.8.0_45) でテストおよび検証済み。パスはローカルまたはリモートに設定でき、両方がサポートされています。

stage.getIcons().add(new Image("/path/to/javaicon.png"));

また

stage.getIcons().add(new Image("https://example.com/javaicon.png"));

ここに画像の説明を入力

それが役に立てば幸い。ありがとう!!

于 2013-03-04T16:36:02.673 に答える
4

次のように、クラスパスからイメージをロードできます。

new Image(XYZ.class.getResourceAsStream("/xyz.png"))

ここで、XYZ は何らかのクラス名 (おそらくイメージのロード元) であり、xyz.png はイメージ ファイルの名前で、クラスパスに含まれるディレクトリ (または JAR ファイル) に配置されます。

ソース ファイルの横に画像を配置する場合は、/ 文字を省略してください。次に、リソース (*.png など) を src から bin ディレクトリにコピーするように IDE を構成する必要があります。しかし、これは標準的な動作であるはずです。

于 2012-10-10T20:22:47.240 に答える
1

画像のサイズは正しいですか?Javadoc は次のように述べています。

public final ObservableList getIcons()

ウィンドウの装飾と最小化時に使用されるアイコン イメージを取得します。画像は同じ画像の異なるサイズである必要があり、最適なサイズが選択されます。16x16、32、32。

于 2012-04-26T08:47:16.007 に答える
1

スタンドアロンの作業ディレクトリのプロパティを、メインとイメージが配置されているパッケージに設定することで見つけた解決策。

于 2012-05-07T09:05:46.960 に答える