package com.quiltplayer.view.swing.textfields; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.event.FocusEvent; import javax.swing.JPasswordField; import com.quiltplayer.view.swing.FontFactory; import com.quiltplayer.view.swing.window.Keyboard; /** * * @author Vlado Palczynski * */ public class QPasswordField extends JPasswordField { private static final long serialVersionUID = -7358149534963586489L; private Keyboard keyboardPanel; public QPasswordField(final Keyboard keyboardPanel) { super(); this.keyboardPanel = keyboardPanel; setDefaults(); } private void setDefaults() { setCaretColor(Color.black); setFont(FontFactory.getFont(15)); setEchoChar('*'); setUI(new RoundTextUI()); } protected void paintComponent(Graphics g) { final int w = getWidth(); final int h = getHeight(); Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setColor(Color.white); g2d.fillRoundRect(0, 0, w, h, 11, 11); super.paintComponent(g); } /* * (non-Javadoc) * * @see javax.swing.JComponent#paintBorder(java.awt.Graphics) */ @Override protected void paintBorder(Graphics g) { } /* * (non-Javadoc) * * @see java.awt.Component#processFocusEvent(java.awt.event.FocusEvent) */ @Override protected void processFocusEvent(FocusEvent e) { if (e.getID() == FocusEvent.FOCUS_GAINED) keyboardPanel.setTextField(this); super.processFocusEvent(e); } }