Bonsoir,
j'essaie d'intéger des ressources dans une archive jar.
J'ai fait un paquetage org.applications.calculette puis
j'ai mis mes ressources dans les repertoires :
org/applications/calculette/resources/images et
org/applications/calculette/resources/fonts
Pour les images, j'utilise :
URL urlImageZero = getClass().getResource("/resources/images/imgZero.gif");
puis
button[i]=new JButton(buttonNom[i],new ImageIcon(buttonImage[i]));
et ca marche nickel.
En lisant la FAQ, j'ai voulu bien faire avec la fonte et j'ai crée cette classe :
puis j'utilise setResourceFont("Lucida_Calligraphy_Italic");
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
16
17
18
19
20
21 private Font setResourceFont(String fileName) { Font font; FileInputStream ttf = null; String pathFileName = new String(getClass().getResource("/resources/fonts/" + fileName + ".ttf").toString()); try { ttf = new FileInputStream(pathFileName); font = Font.createFont(Font.TRUETYPE_FONT, ttf); return new Font(font.getFamily(), Font.BOLD, 24); } catch (FileNotFoundException ex) { System.out.println("FileNotFoundException"); } catch (FontFormatException ex) { System.out.println("FontFormatException"); } catch (IOException ex) { System.out.println("IOException"); } finally { try { ttf.close(); } catch (Exception ignore) {} font = new Font("Serif", Font.BOLD, 22); return font; } }
mais java me lève une erreur :
que je ne comprends pas parce que mon fichier Lucida_Calligraphy_Italic.ttf est à la bonne place il me semble. Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 java.io.FileNotFoundException: file:\C:\Users\greg\Documents\NetBeansProjects\Calculette\build\classes\resources\fonts\Lucida_Calligraphy_Italic.ttf (Syntaxe du nom de fichier, de répertoire ou de volume incorrecte) at java.io.FileInputStream.open(Native Method)
Partager