هل ترغب في إضافة رموز إلى JButton باستخدام خط مخصص من AwesomeFont وأحرف Unicode في Java Swing؟
-
10-12-2019 - |
سؤال
لدي زر 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);
}
}
هذا ما أحصل عليه.لا شئ.
أي مساعدة هي محل تقدير كبير.
يحرر:انظر الإجابة أدناه.
المحلول
أعتقد أنني حلت هذا في الواقع.الحرف الصحيح هو \uf04b
لا \u0f4b
.عفوًا!:)
هذا يعمل بالنسبة لي الآن.
نصائح أخرى
جرب jIconFont (Swing أو JavaFX) على http://jiconfont.github.io/
مثال:
Icon icon = IconFontSwing.buildIcon(FontAwesome.FLOPPY_O, 15);
JButton button = new JButton(icon);
لا تنتمي إلى StackOverflow