Czy istnieje sposób na uzyskanie domyślnej nazwy systemowej czcionki w języku Java? Domyślna czcionka może różnić się od os. Może to powodować problemy, jeśli używamy czcionki Arial, a jar działa w systemie Linux bez zainstalowanej czcionki Arial.Pobierz domyślną czcionkę systemową
Odpowiedz
JavaFX czyni to o wiele łatwiejsze:
import javafx.scene.text.Font;
następnie użyć:
Font defaultFont = Font.getDefault();
lub
// Where 14 is the font size
Font defaultFont = new Font(14);
Nie sądzę, że istnieje sposób na pobranie domyślnej czcionki systemowej (w Swing/AWT czcionka jest zwykle powiązana z bieżącym LAF i komponentem, na przykład), ale jeśli twoim problemem jest kompatybilność czcionek - możesz sprawdź używaną czcionkę względem wszystkich systemowych czcionek:
GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] allFonts = e.getAllFonts();
i dokonaj wyboru "przełączania awaryjnego", jeśli nie istnieje.
+1 Patrz także [Pobieranie czcionki, rozmiar, pogrubienie, itp ...] (http://stackoverflow.com/questions/6965038/getting-fonts-sizes-bold-etc/6965149# 6965149). –
W kwestii zawieszeń 'Font.canDisplayUpTo' jest bardzo przydatny do testowania, czy określone znaki będą działać - jeśli na przykład używasz czcionki języka CJK i potrzebujesz opcji rezerwowej, która obsługuje te języki. – misaka
getFont() zwraca aktualną czcionkę, która jest (zwykle?) Domyślne. Zrobiłem to, aby zwiększyć rozmiar czcionki.
public MyTextArea(){
Font currentFont = super.getFont();
String fontName = currentFont.getFontName();
int fontStyle = currentFont.getStyle();
int fontSize = currentFont.getSize() + 4;
super.setFont(new Font(fontName, fontStyle, fontSize));
}
lub: 'Font currentFont = super.getFont(); if (currentFont! = null) super.setFont (currentFont.deriveFont (currentFont.getSize2D() + 4)); ' – Supuhstar
Obecnie używam tego, aby uzyskać domyślną czcionkę, chociaż wolałbym nie trzeba używać grafiki sprzeciwiają się dostać go:
private final Font getFont()
{
Graphics g = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB).getGraphics();
Font font = new Font(g.getFont().toString(), 0, 12);
g.dispose();
return font;
}
Spójrz na public static Font decode(String str) tutaj. Gdy metoda dekodowania otrzymuje wskaźnik zerowy jako parametr, zwraca czcionkę "Dialog", która jest zwykle czcionką systemową.
nowa czcionka (Font.decode (null) .getName(), Font.BOLD, 14/* rozmiar * /); działa, dziękuje – Exceptyon
Spróbuj tego:
private final Font FONT = new JLabel().getFont();
W Windows Segoe UI
Odwiedź http://www.apaddedcell.com/sites/www.apaddedcell.com/files/fonts-article/final/index.html aby zobaczyć listę preinstalowanych czcionek.
Wybrałem Verdana
- 1. Ustaw domyślną czcionkę MacVim
- 2. Jak zmienić domyślną czcionkę UIWebView?
- 3. Jak zmienić domyślną czcionkę aplikacji na Androida?
- 4. Modyfikuj domyślną czcionkę w Python Tkinter
- 5. Jak zmienić domyślną czcionkę używaną przez Silverlight?
- 6. Jak zmienić domyślną czcionkę tekstową w Eclipse?
- 7. Jak otworzyć domyślną przeglądarkę systemową z aplikacji java fx?
- 8. Pobierz datę systemową i podziel dzień, miesiąc i rok.
- 9. Android - pobierz domyślną nazwę ciągu systemowego:
- 10. Jak ustawić domyślną czcionkę (Inconsolata) w moim .emacs.el w Ubuntu?
- 11. Ustaw niestandardową czcionkę jako domyślną w programowaniu iPhone'a
- 12. Jak zmienić domyślną czcionkę dla kodu Python w środowisku Eclipse?
- 13. Jak ustawić niestandardową rodzinę czcionek jako czcionkę systemową w aplikacji ios
- 14. Czy mogę ustawić domyślną właściwość systemową dla konstruktora-arg w pliku konfiguracyjnym sprężyny?
- 15. Jak zmienić czcionkę klawisza na klawiaturze Androida?
- 16. Którą czcionkę o stałej szerokości używa przeglądarka?
- 17. Jak określić domyślną czcionkę użytkownika WWW, jeśli czcionka google jest niedostępna?
- 18. Jak usunąć domyślną czcionkę w przeglądarce podczas ładowania @ font-face w CSS? "FOUT"
- 19. Czy można sfałszować usługę systemową w Androidzie
- 20. Jak utworzyć tabelę systemową SQL Server
- 21. Zastąp właściwość systemową w Javie (bez kodu)
- 22. Jak określić wartość systemową dla _POSIX_PATH_MAX
- 23. Android rozwija czcionkę LCD
- 24. Jak zmienić czcionkę czcionką?
- 25. Jak zmienić czcionkę gridview?
- 26. Zainstaluj czcionkę na serwerze
- 27. FPDF dodać nową czcionkę
- 28. huśtawka utworzyć czcionkę
- 29. Zmień czcionkę programowo
- 30. IOS: Wyrejestruj czcionkę zarejestrowaną przez CoreText
Aktualna i poprawna odpowiedź IMHO – Troyseph
Czy istnieje sposób, aby to zrobić w Swing? –
@CardinalSystem Polecam użycie nazwy, rozmiaru i wagi tej 'Font' JavaFX, aby utworzyć Swing' Font'. Jeśli nie podoba ci się ten smak, myślę, że odpowiedź Salvation jest dla Ciebie: https://stackoverflow.com/a/11592041/453435 – Supuhstar