01: /*
02: * Created on 14/10/2004
03: *
04: * Swing Components - visit http://sf.net/projects/gfd
05: *
06: * Copyright (C) 2004 Igor Regis da Silva Simões
07: *
08: * This program is free software; you can redistribute it and/or
09: * modify it under the terms of the GNU General Public License
10: * as published by the Free Software Foundation; either version 2
11: * of the License, or (at your option) any later version.
12: *
13: * This program is distributed in the hope that it will be useful,
14: * but WITHOUT ANY WARRANTY; without even the implied warranty of
15: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: * GNU General Public License for more details.
17: *
18: * You should have received a copy of the GNU General Public License
19: * along with this program; if not, write to the Free Software
20: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21: *
22: */
23: package br.com.gfpshare.plaf;
24:
25: import java.awt.Graphics;
26: import java.awt.Graphics2D;
27: import java.awt.Rectangle;
28: import java.awt.RenderingHints;
29:
30: import javax.swing.JComponent;
31: import javax.swing.plaf.ComponentUI;
32: import javax.swing.plaf.metal.MetalButtonUI;
33:
34: /**
35: *
36: * Classe que representa a UI do coponente JButton.
37: * O método paint foi sobrescrito para acrescentar a capacidade de pintar
38: * fontes com suavização de borda, melhorando sua aparencia no Linux e no OS/2.
39: *
40: * @author Igor Regis da Silva Simões
41: */
42: public class IgorButtonUI extends MetalButtonUI {
43:
44: /**
45: * Usamos aqui uma variável estática que será responsável pelo look and feel de
46: * todos os JButton´s da aplicação.
47: */
48: private static final IgorButtonUI me = new IgorButtonUI();
49:
50: /** O método paintText foi sobrescrito para acrescentar a capacidade de pintar
51: * fontes com suavização de borda, melhorando sua aparencia no Linux e no OS/2.
52: * @param g Contexto gráfico
53: * @param c Componente a ser pintado
54: * @param textRect Medidas do retangulo que circundará o texto
55: * @param text Texto a ser pintado
56: */
57: @Override
58: protected void paintText(Graphics g, JComponent c,
59: Rectangle textRect, String text) {
60: if (g != null) {
61: Graphics2D g2d = (Graphics2D) g;
62: g2d.addRenderingHints(new RenderingHints(
63: RenderingHints.KEY_TEXT_ANTIALIASING,
64: RenderingHints.VALUE_TEXT_ANTIALIAS_ON));
65: }
66: super .paintText(g, c, textRect, text);
67: }
68:
69: /** Método que retorna uma instância deste componente que será responsável pelo
70: * look and feel do componete JButton.
71: * @param c Componete o qual seseja-se criar um componente UI
72: * @return Componente responsável pela UI
73: */
74: public static ComponentUI createUI(JComponent c) {
75: return me;
76: }
77:
78: }
|