【问题标题】:Adding (Built-In?) Icons to Buttons in Java?在 Java 中向按钮添加(内置?)图标?
【发布时间】:2018-11-09 14:35:41
【问题描述】:

我已经提供了一个创建按钮布局的类,但其中只有文本。我想知道是否有向按钮添加相应的图标:

        public ShapeButtons(View view){
            String[] buttonLabels = { "Circle", "Rectangle", "Square", "Squiggle", "Polyline" };

            for (String label : buttonLabels) {
                Button button = new Button(label);
                button.setMinWidth(100);
                this.add(button, 0, row);
                row++;
                button.setOnAction(this);
    }

对于按钮的构造函数,我知道有一种方法可以做 Button(Text, Node graphics) 但我似乎不知道该怎么做?

【问题讨论】:

标签: java button javafx javafx-8


【解决方案1】:

Unicode 规范的Geometric Shapes 块中包含大量字符,以及其他一些块,这将对您有所帮助:

String[] buttonLabels = { "\u25cf Circle", "\u25ac Rectangle", "\u25a0 Square", "\u2307 Squiggle", "\u29d6 Polyline" };

【讨论】:

  • 使用 Unicode 的巧妙方法,但有一个问题 (1)。这个screenshot 显示了前三个 Unicode 字符,但没有显示最后两个。结果归结为字体支持的内容。有一些方法可以检查字体是否可以呈现所需的所有字符,但它可能 (1) 需要在代码中进行特殊处理。 1) 这个警告是因为我没有处理 Java-FX 的经验。也许它有某种方法可以确保使用兼容的字体(尽管我对此表示怀疑)。当然,屏幕截图本身是使用 Swing 完成的(我对此非常熟悉)。
  • @AndrewThompson 什么版本的 Java 和什么操作系统?它们出现在 Java 8、9、10 和 11、Windows 10 和 Debian 中。据我所知,没有安装不寻常的字体。
  • 1) 1.8.0_45 2) Windows 10 家庭版。使用的字体与最后两个未渲染的字体更相关。 (这是Dialog 逻辑字体,顺便说一句。)
  • 更多字体细节:快速测试表明.. 3 of 248 installed fonts can display this string 本地(当“此字符串”是 buttonLabels 数组的字符串的合并时)。
  • 嗯.. 我刚刚使用另一个应用程序进行了检查。 (致力于 Unicode 字符)它不仅表明支持波浪线的字体不止 3 种,而且 Dialog 字体就是其中之一!这似乎是一个本地配置问题。 ?
猜你喜欢
  • 2021-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多