001 package org.fest.swing.query;
002
003 import static org.fest.swing.edt.GuiActionRunner.execute;
004
005 import java.awt.Component;
006 import java.awt.Font;
007
008 import org.fest.swing.annotation.RunsInEDT;
009 import org.fest.swing.edt.GuiQuery;
010
011 /**
012 * Understands an action, executed in the event dispatch thread, that returns the font of a
013 * <code>{@link Component}</code>.
014 * @see Component#getFont()
015 *
016 * @author Alex Ruiz
017 * @author Yvonne Wang
018 */
019 final public class ComponentFontQuery {
020
021 /**
022 * Returns the font of the given <code>{@link Component}</code>. This action is executed in the event dispatch
023 * thread.
024 * @param component the given <code>Component</code>.
025 * @return the font of the given <code>Component</code>.
026 * @see Component#getFont()
027 */
028 @RunsInEDT
029 public static Font fontOf(final Component component) {
030 return execute(new GuiQuery<Font>() {
031 protected Font executeInEDT() {
032 return component.getFont();
033 }
034 });
035 }
036
037 private ComponentFontQuery() {}
038 }