Bonjour,
voici mon souci j'essaye de charger une police particulière maPolice.ttf de cette façon :
cela marche très bien depuis mon ide mais pas du tout depuis mon jar.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 try { log.debug("Going to get font."); final InputStream iStreamFont = getClass().getResourceAsStream("/monPckage/res/maPolice.ttf"); log.debug("input stream loaded " + iStreamFont); final Font iFont = Font.createFont(Font.TRUETYPE_FONT, iStreamFont); log.debug("Font created " + iFont); GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(iFont); log.debug("Font has been well load."); } catch (final FontFormatException iFontFormatException) { log.error("Can't load maPolice font", iFontFormatException); } catch (final IOException iIoException) { log.error("Can't load maPolice font", iIoException); }
Forcement j'ai pensé que cela venait d'un problème de classpath mais étonnamment si on regarde les logs :
donc on dirait que le inputStream est trouvé mais que lors du createFont le thread courant ne la voit pas.DEBUG MonpackageClientCommon.MainFrame.initialize(Unknown Source) - Going to get font.
DEBUG MonpackageClientCommon.MainFrame.initialize(Unknown Source) - input stream loaded sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@1a80183
ERROR MonpackageClientCommon.MainFrame.initialize(Unknown Source) - Can't load BleriotText-Roman font
java.io.IOException: Problem reading font data.
...
Du coup j'ai essayé de faire :
mais la effectivement le thread courent ne vois pas la ressource et j'ai un input stream null ds mes logs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Thread.currentThread() .getContextClassLoader().getResourceAsStream("/monPckage/res/maPolice.ttf");
Je suis un peu perdu si quelqu'un a une piste ??MainFrame.initialize(Unknown Source) - input stream loaded null
Partager