01: /*
02: * FindBugs - Find Bugs in Java programs
03: * Copyright (C) 2006, University of Maryland
04: *
05: * This library is free software; you can redistribute it and/or
06: * modify it under the terms of the GNU Lesser General Public
07: * License as published by the Free Software Foundation; either
08: * version 2.1 of the License, or (at your option) any later version.
09: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser General Public
16: * License along with this library; if not, write to the Free Software
17: * Foundation, Inc., 59 Temple Place, Suite 330, Boston MA 02111-1307, USA
18: */
19:
20: package edu.umd.cs.findbugs.gui2;
21:
22: import java.awt.Component;
23: import java.awt.Container;
24: import java.awt.Dialog;
25: import java.awt.Frame;
26:
27: import javax.swing.JDialog;
28:
29: /**
30: * All Dialogs are FBDialogs so font size will work.
31: * @author Kristin
32: *
33: */
34: @SuppressWarnings("serial")
35: public class FBDialog extends JDialog {
36:
37: public FBDialog() {
38: super (MainFrame.getInstance());
39: }
40:
41: public FBDialog(Frame f) {
42: super (f);
43: }
44:
45: public FBDialog(Dialog d) {
46: super (d);
47: }
48:
49: /**
50: * Sets size of font
51: * @param size
52: */
53: protected void setFontSize(float size) {
54: setFont(this .getFont().deriveFont(size));
55:
56: setFontSizeHelper(this .getComponents(), size);
57: }
58:
59: /*
60: * Helps above method, runs through all components recursively.
61: */
62: protected void setFontSizeHelper(Component[] comps, float size) {
63: if (comps.length <= 0)
64: return;
65:
66: for (Component comp : comps) {
67: comp.setFont(comp.getFont().deriveFont(size));
68: if (comp instanceof Container)
69: setFontSizeHelper(((Container) comp).getComponents(),
70: size);
71: }
72: }
73:
74: @Override
75: public void addNotify() {
76: super.addNotify();
77:
78: setFontSize(Driver.getFontSize());
79: }
80:
81: }
|