كيف أحمل ال Font Style فى JList ؟

أنا أقوم بإنشاء برنامج مثل NotePad الموجود فى نظام ويندوز كتدريب لي.

وعندما وصلت لقسم الـFonts استخدمت مكتبة لنافذة الفونت ولكن لم أجد فيها ما أحتاجه  فقررت بناء النافذة بنفسي وقمت بتحميل الـFonts من الجهاز ولكن لم أعرف كيف أحمل Font Style من الجهاز. فلكل خط الكثير من الـFont Styles.

هذه صورة لـما أقلده:

private ArrayList getStarsFont() {

  ArrayList stars = new ArrayList();

  stars.addAll(Arrays.asList(fonts));

  return stars;

}

private void fontData() {

  fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();

  getStarsFont().stream().forEach((star) -> {

   defaultListModelFont.addElement(star);

  });

  listFont.setModel(defaultListModelFont);

  listFont.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

}

// Search/Filter data
private void searchFilterFont(String searchTerm) {

  DefaultListModel filteredItems = new DefaultListModel();

  ArrayList stars = getStarsFont();

  stars.stream().forEach((star) -> {

   String starName = star.toString().toLowerCase();

   if (starName.contains(searchTerm.toLowerCase())) {

    filteredItems.addElement(star);

   }

  });

  defaultListModelFont = filteredItems;

  listFont.setModel(defaultListModelFont);

}

إجابات 2

أضف إجابة

يجب تسجيل الدخول حتى تتمكن من إضافة إجابة أو رد.

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة