هل ترغب في إضافة رموز إلى JButton باستخدام خط مخصص من AwesomeFont وأحرف Unicode في Java Swing؟

StackOverflow https://stackoverflow.com//questions/9639894

سؤال

لدي زر JButton وأريد إضافة رمز إليه.أرغب في استخدام الرموز المستندة إلى الخطوط من FontAwesome والتي توفر ملف خط TrueType.الأيقونة التي أحاول إضافتها هي أيقونة زر التشغيل.رمز زر التشغيل في ملف CSS لـ FontAwesome هو \f04b الذي أعتقد أنه يترجم إليه \uf04b في جافا.

هذه هي الطريقة التي أقوم بها بتحميل الخط في مُنشئ الفئة الأساسية IconButton.

public class IconButton extends JButton {
  public IconButton() {
    try {
      InputStream in = this.getClass().getResourceAsStream("/fontawesome-webfont.ttf");
      Font ttfBase = Font.createFont(Font.TRUETYPE_FONT, in);
      Font ttfReal = ttfBase.deriveFont(Font.BOLD, 24);
      setFont(ttfReal);
    } catch (FontFormatException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
  }
}

في فئة التنفيذ StartButton، هذه هي الطريقة التي أقوم بها بإعداد النص.

public class StartButton extends IconButton {
  public StartButton() {
    setText(String.valueOf('\u0f4b'));
    setForeground(Color.BLACK);
  }
}

هذا ما أحصل عليه.لا شئ.

JButton

أي مساعدة هي محل تقدير كبير.

يحرر:انظر الإجابة أدناه.

هل كانت مفيدة؟

المحلول

أعتقد أنني حلت هذا في الواقع.الحرف الصحيح هو \uf04b لا \u0f4b.عفوًا!:)

هذا يعمل بالنسبة لي الآن.

JButton with Play Icon

نصائح أخرى

جرب jIconFont (Swing أو JavaFX) على http://jiconfont.github.io/

مثال:

Icon icon = IconFontSwing.buildIcon(FontAwesome.FLOPPY_O, 15);

JButton button = new JButton(icon);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top