web-dev-qa-db-ja.com

アプリケーションのJava fx 2.0のステージのタイトルバーにあるアイコンを変更する方法

私は試しました

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

しかし、何が悪いのかわかりません。

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

13
Bipin Bhandari

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

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 Screenshot

JavaFX 8用に更新

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

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

OR

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

enter image description here

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

50
Madan Sapkota

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

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

ここで、XYZはクラス名(画像のロード元のクラス)であり、xyz.pngはクラスパスに含まれるディレクトリ(またはJARファイル)に置かれる画像ファイルの名前です。

ソースファイルの横に画像を配置する場合は、/文字を省略する必要があります。あなたのIDEは、(*。pngのような)リソースをsrcからbinディレクトリにコピーするように設定する必要があります。しかし、これは標準的な動作であると思われます。

5
Frank Bruch

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

1
Bipin Bhandari

に問題があった人のために:

無効なURL:無効なURLまたはリソースが見つかりません

最善の解決策は、新しいパッケージ、つまりimage.iconsを作成し、そこに.png画像を移動することです。それからあなたは書くだけです:

Image image = new Image("/image/icons/list.png");
primaryStage.getIcons().add(image);

これが誰かに役立つことを願っています!

1
Dawid

インポートを行うことを忘れないでください

import javafx.scene.image.Image;

Image icon = new Image(getClass().getResourceAsStream("myicon.png"));
stage.getIcons().add(icon);

置換"myicon.png"をアイコンに追加します。この場合は、Javaクラスと同じフォルダーにあります。

1
daviek19

画像のサイズは正しいですか? Javadocの状態:

public ObservableList getIcons()

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

1
Sergey Grinev