Your class comments indicate a different purpose than your class code, but assuming a connection in your mind, code something like the following might be helpful to you:
public class Fonts { public static Font [] getFonts() { return GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); } public static String [] getFontNames() { Font [] fonts = getFonts(); String [] fontNames = new String [fonts.length]; for (int i = 0; i < fonts.length; i++) { fontNames[i] = fonts[i].getFontName(); } return fontNames; } public static String [] getFontFamilies() { Font [] fonts = getFonts(); String [] fontFamilies = new String [fonts.length]; for (int i = 0; i < fonts.length; i++) { fontFamilies[i] = fonts[i].getFamily(); } return fontFamilies; } public static String [] getNames() { Font [] fonts = getFonts(); String [] names = new String [fonts.length]; for (int i = 0; i < fonts.length; i++) { names[i] = fonts[i].getName(); } return names; } public static void main(String [] params) { String [] names = Fonts.getNames(); for(int i = 0; i < names.length; i++) { com.crackwillow.log.StdOut.log("fonts",names[i]); } } } ///;-) Michael McGrady On 5/6/05, Daniel Watrous <[EMAIL PROTECTED]> wrote: > Hello, > > I have a web application that uses java.awt.Font objects to render > images. The application will run in tomcat and that is where I have > done development. When I first tried to run the application on a > Linux box with Tomcat 5.0.25 I got the following error: > > java.lang.NoClassDefFoundError > at com.words2walls.customquote.CustomQuote.getQuoteFontName(Unknown > Source) > at com.words2walls.webapp.filters.SessionQuoteFilter.doFilter(Unknown > Source) > > Here is the code call that throws the error: > public String getQuoteFontName() { > return QuoteFontType.getInstance(this.quoteFontCode).toString(); > } > > And the class that is being called: > /* > * QuoteFontType.java > * > * Created on April 15, 2005, 9:41 AM > */ > > package com.words2walls.customquote; > > import java.awt.Font; > import java.awt.FontFormatException; > import java.util.*; > import java.io.*; > > import com.words2walls.customquote.exceptions.FontNotFoundException; > > /** > * Type safe enumeration of available fonts > * > * @author Daniel Watrous > */ > public class QuoteFontType { > > private static final String pathToWebapp = "C:\\Program > Files\\Apache Software Foundation\\Tomcat 5.0\\webapps\\words2walls"; > private static final String pathToPackage = > "\\WEB-INF\\classes\\com\\words2walls\\fonts\\"; > private String fontName; > private int fontCode; > private Font font; > private static org.apache.log4j.Category cat = > > org.apache.log4j.Category.getInstance(QuoteFontType.class.getName()); > > public static final QuoteFontType ADORABLE = new > QuoteFontType(1,"Adorable","adorable.ttf"); > private static final Map INSTANCES = new HashMap(); > > static { > cat.debug("Enter Static block to place fonts in INSTANCES Map"); > INSTANCES.put (ADORABLE.toInteger(), ADORABLE); > cat.debug("Exit Static block with INSTANCES.size() = " + > INSTANCES.size()); > } > > /** Creates a new instance of QuoteFontType */ > private QuoteFontType(int code, String fontName, String filename) { > // create a font from the font file > try { > File fontFile = new File (pathToWebapp+pathToPackage+filename); > FileInputStream fis = new FileInputStream(fontFile); > font = Font.createFont(Font.TRUETYPE_FONT, fis); > } catch (Exception e) { > throw new FontNotFoundException(e); > } > // set member variables > this.font = font; > this.fontCode = code; > this.fontName = fontName; > } > > public String toString() { > return fontName; > } > > public Integer toInteger() { > return new Integer(fontCode); > } > > public static QuoteFontType getInstance(int code) { > return (QuoteFontType) INSTANCES.get(new Integer(code)); > } > > public Font getFont() { > return font; > } > > } > > After some googling I found that if I set an environment variable > "JAVA_OPTS=-Djava.awt.headless=true" that this error would go away. > I'm not sure why this is the case, but it worked. > > I am now trying to test the application on a windows machine with > Tomcat 5.0.30 and I get the same error. I have set a Windows XP > environment variable the same as mentioned above. I have also added > the option to the Java tab of the Tomcat monitor under Java Options:. > > What is the cause of this error? Is there some way that I can make it > work on both Windows and Linux? Thanks in advance. > > Daniel > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- "You can lead a horse to water but you cannot make it float on its back." ~Dakota Jack~ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]