Kotlin+JavaFX系列

  1. 使用Kotlin开发JavaFX
  2. Windows下的JavaFX桌面应用程序打包ABC
  3. Kotlin编写JavaFX的顺滑
  4. JavaFX动画:有趣的AnimationTimer
  5. JavaFX应用程序图标
  6. JavaFX专业开发者与业余开发者之间就差一个一个Icon packs
  7. JavaFX七巧板游戏:布局窗格Panes
  8. JavaFX七巧板游戏:布局控件
  9. JavaFX+Kotlin游戏从入门到放弃:拯救蛇蛇大作战又名454行实现几何数独游戏
  10. Kotlin编写JavaFX的顺滑之数据控件(一)列表视图ListView
  11. Kotlin编写JavaFX的顺滑之数据控件(二)表视图TableView基础应用
  12. Kotlin编写JavaFX的顺滑之数据控件(二)表视图TableView基础深入浅出

图标文件

为了让我们的JavaFX应用程序看起来更美观,我们需要设置图标文件。其实所谓的应用程序图标文件,有两个不同的含义。

  • Windows应用执行后窗口左上方显示的图标;
  • 文件管理器中看到的应用程序可执行文件的图标。

窗口图标

窗口图标在JavaFX程序中与Stage对象关联。其实本身就是一个Image对象。通过下面的方法来访问:

public class Stage extends Window {
    public final ObservableList<Image> getIcons() {
        return icons;
    }
}

stage.getIcons().add(new Image(...));

当然Kotlin里面会更简单。

stage.icons.add(Image(...))

JavaFX支持的Image格式有以下几种:

  • BMP
  • GIF
  • JPEG
  • PNG
    按照一般的getResourceAsStream就可以引入resouces目录下的图形文件。

应用程序图标

文档
“含有.ico文件扩展名的文件是图像容器文件,用于存储不同Windows应用程序使用的图标,例如出现在用户桌面上的Windows文件夹图标、文件图标和程序图标。”

“ICO文件本身不是一个图像文件。它是一个存储两个位图和图像掩码的容器文件,用于创建保存在该文件中的图标。ICO文件可以被修改以创建Windows界面的自定义图标,有时也会随Windows桌面主题下载。”

一般来说,可以在网上下载到一些免费的ico文件,没有版权问题的ico文件也有很多。

JavaFX应用程序图标

设置JavaFX打包的应用程序有几种方式。

jpackage

打包Java FX应用程序中有,jpackage有一个–icon filename的命令行,这个文件名就写上xxx.ico就可以。

Gradle

用Gradle打包时,要设置jpackageImage的参数。build.gradle中的设置部分:

jlink {
    imageZip = project.file("${buildDir}/distributions/app-${javafx.platform.classifier}.zip")
    options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
    launcher {
        name = 'timerdemo'
    }
    jpackage {
        imageOptions += '--win-console'
        icon = 'w.ico'
    }
}

这里的设置放在jlink内部,是JPackageData的属性icon。

准备图标文件

在准备图标文件中间的图片时,有很多种选择,从16 × \times × 16一直到256 × \times × 256都有。

在Windows 11中,只需要准备三种格式即可,分别是32 × \times × 32,48 × \times × 48和64 × \times × 64。别问我怎么知道的……
在这里插入图片描述
我现在准备图标文件还用的MVS,造孽啊……

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐