Here you can find the source of getFontMetrics(JComponent c, Graphics g)
Parameter | Description |
---|---|
c | JComponent requesting FontMetrics, may be null |
g | Graphics Graphics |
public static FontMetrics getFontMetrics(JComponent c, Graphics g)
//package com.java2s; import javax.swing.*; import java.awt.*; public class Main { /**/*from ww w .java2s. co m*/ * Copied from JDK's SwingUtilities2.java * <p/> * Returns the FontMetrics for the current Font of the passed in Graphics. This method is used when a Graphics is * available, typically when painting. If a Graphics is not available the JComponent method of the same name should * be used. * <p/> * Callers should pass in a non-null JComponent, the exception to this is if a JComponent is not readily available * at the time of painting. * <p/> * This does not necessarily return the FontMetrics from the Graphics. * * @param c JComponent requesting FontMetrics, may be null * @param g Graphics Graphics */ public static FontMetrics getFontMetrics(JComponent c, Graphics g) { return getFontMetrics(c, g, g.getFont()); } /** * Copied from JDK's SwingUtilities2.java * <p/> * Returns the FontMetrics for the specified Font. This method is used when a Graphics is available, typically when * painting. If a Graphics is not available the JComponent method of the same name should be used. * <p/> * Callers should pass in a non-null JComponent, the exception to this is if a JComponent is not readily available * at the time of painting. * <p/> * This does not necessarily return the FontMetrics from the Graphics. * * @param c JComponent requesting FontMetrics, may be null * @param c Graphics Graphics * @param font Font to get FontMetrics for */ public static FontMetrics getFontMetrics(JComponent c, Graphics g, Font font) { if (c != null) { // Note: We assume that we're using the FontMetrics // from the widget to layout out text, otherwise we can get // mismatches when printing. return c.getFontMetrics(font); } return Toolkit.getDefaultToolkit().getFontMetrics(font); } }