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