/* * Copyright 2005 MH-Software-Entwicklung. All rights reserved. * Use is subject to license terms. */ package com.jtattoo.plaf; import java.awt.*; import java.beans.PropertyChangeEvent; import javax.swing.*; import javax.swing.plaf.*; import javax.swing.plaf.basic.BasicTextAreaUI; import javax.swing.text.JTextComponent; /** * @author Michael Hagen */ public class BaseTextAreaUI extends BasicTextAreaUI { public static ComponentUI createUI(JComponent c) { return new BaseTextAreaUI(); } public void installDefaults() { super.installDefaults(); updateBackground(); } protected void paintSafely(Graphics g) { Graphics2D g2D = (Graphics2D) g; Object savedRenderingHint = null; if (AbstractLookAndFeel.getTheme().isTextAntiAliasingOn()) { savedRenderingHint = g2D.getRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING); g2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, AbstractLookAndFeel.getTheme().getTextAntiAliasingHint()); } super.paintSafely(g); if (AbstractLookAndFeel.getTheme().isTextAntiAliasingOn()) { g2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, savedRenderingHint); } } protected void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals("editable") || evt.getPropertyName().equals("enabled")) { updateBackground(); } super.propertyChange(evt); } private void updateBackground() { JTextComponent c = getComponent(); if (c.getBackground() instanceof UIResource) { if (!c.isEnabled() || !c.isEditable()) { c.setBackground(AbstractLookAndFeel.getDisabledBackgroundColor()); } else { c.setBackground(AbstractLookAndFeel.getInputBackgroundColor()); } } } }