2

かなりの数の投稿を調査してすべてを試した後、EclipseIDEとJavaFX2を使用してタイトルバーにアイコンを設定するのと同じくらい簡単なタスクを実行するためのオプションがありません。

デフォルトの空のウィンドウアイコンが表示されるか、黒に戻ります。私が間違っていることを教えてください。

これが私の試みのいくつかです、

//Image ico = new Image(UI.class.getResourceAsStream("Sunset.jpg"), 16, 16,      true,true);        
//Image ico = new Image("Sunset.jpg", true);// looks inside src folder
//primaryStage.getIcons().add(new Image(UI.class.getResourceAsStream("/title.jpeg")));
//primaryStage.getIcons().add(new Image(UI.class.getResourceAsStream("title.jpeg")));

Image ico = new Image(UI.class.getResourceAsStream("Sunset.jpg"));
primaryStage.getIcons().add(ico);       

私が使っている写真で次のことを試しました、

  1. 300x300ピクセルの属性を持つ写真を使用しました
  2. 300x300ピクセルの画像を16x16ピクセルに変換しました
  3. 32x32ピクセルと16x16ピクセルの両方で*.icoを使用しました
  4. .icoをjpegに変換してみました。

どうすればこれを克服できるか教えてください。ありがとう !

システムの詳細:

java.runtime.version-1.7.0_11-b21javafx.runtime.version
-2.2.4-b19OS
名-MSWinXPProfessionalOS
バージョン-5.1.2600ServicePack3ビルド2600OS
アーキテクチャ-32ビット
グラフィックカード-Intel® HDグラフィックス
グラフィックスカードドライバー–igxpmp32.sysバージョン6.14.10.5384

4

3 に答える 3

3

原因は、JavaFxの潜在的なバグのようです。システムを32ビットカラー未満に設定している場合は、タスクバーとタイトルバーのアイコンに黒いボックスが表示されます。システムを32ビットカラーに設定すると修正されます。

于 2013-05-10T17:49:14.543 に答える
1

以下は私のために働きます:

Image image = new Image(<some valid image location here>);
stage.getIcons().setAll(image);

サンプルアプリは次のとおりです。

import static javafx.application.Application.launch;
import javafx.application.*;
import javafx.scene.Scene;
import javafx.scene.image.*;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class IconApp extends Application {
  @Override public void start(Stage stage) {
    Image image = new Image(
      "http://icons.iconarchive.com/icons/tooschee/misc/128/Present-icon.png"
    );
    stage.getIcons().setAll(image);

    final VBox layout = new VBox(10);
    layout.setStyle("-fx-background-color: cornsilk; -fx-padding: 10;");
    layout.getChildren().setAll(new ImageView(image));

    stage.setScene(new Scene(layout));
    stage.show();
  }

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

// icon license (creative commons 3 with attribution): 
//   http://creativecommons.org/licenses/by-nc/3.0/
// icon attribution: 
//   http://tooschee.com/portfolio?worksCategory=icons

そして、アプリの出力(タイトルバーの左上隅にステージアイコンが表示されます):

presenticon

アイコンは、オペレーティングシステムのタスクバーにも表示されます。

presenticonintaskbar

テストシステムはWindows7、Java8b77でした。

于 2013-03-07T22:52:27.720 に答える
0

このバグは、モニターを16ビット操作モードにするとWindows 7でも再現できます:画面解像度->詳細設定->モニター(タブ)->色=16ビット

問題はここでJavaFXトラッカーに入力されているようです: https ://javafx-jira.kenai.com/browse/RT-28947他の回答からのJoe S.によるものですが、修正することに賭けませんJDK8。

于 2015-02-17T13:20:50.823 に答える