Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

كيف أحمل ال 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

أضف تعليق

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