From b99265cf87590ed5ab5b73be0085601fa100880d Mon Sep 17 00:00:00 2001 From: hzzz Date: Wed, 6 Sep 2017 11:20:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=86=E7=A0=81=E8=BE=93=E5=85=A5=E6=A1=86?= =?UTF-8?q?=E8=BE=B9=E6=A1=86=E9=A2=9C=E8=89=B2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/gui/borders/UITextFieldBorder.java | 3 +- .../gui/ipasswordfield/UIPassWordField.java | 47 +++++++++++++++++-- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/designer_base/src/com/fr/design/gui/borders/UITextFieldBorder.java b/designer_base/src/com/fr/design/gui/borders/UITextFieldBorder.java index b173eb806..019caba03 100644 --- a/designer_base/src/com/fr/design/gui/borders/UITextFieldBorder.java +++ b/designer_base/src/com/fr/design/gui/borders/UITextFieldBorder.java @@ -4,6 +4,7 @@ package com.fr.design.gui.borders; +import com.fr.design.constants.UIConstants; import com.fr.design.utils.DrawRoutines; import com.fr.design.utils.ThemeUtils; @@ -54,7 +55,7 @@ public class UITextFieldBorder extends AbstractBorder implements UIResource { g, ThemeUtils.TEXT_BORDER_DISABLED_COLOR, x, y, w, h); } else { DrawRoutines.drawBorder( - g, ThemeUtils.TEXT_BORDER_COLOR, x, y, w, h); + g, UIConstants.POP_DIALOG_BORDER, x, y, w, h); } } } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/gui/ipasswordfield/UIPassWordField.java b/designer_base/src/com/fr/design/gui/ipasswordfield/UIPassWordField.java index c7910d0cd..95f28a0a0 100644 --- a/designer_base/src/com/fr/design/gui/ipasswordfield/UIPassWordField.java +++ b/designer_base/src/com/fr/design/gui/ipasswordfield/UIPassWordField.java @@ -1,8 +1,13 @@ package com.fr.design.gui.ipasswordfield; +import com.fr.design.constants.UIConstants; + import javax.swing.*; import javax.swing.text.Document; +import java.awt.*; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; /** * Created with IntelliJ IDEA. @@ -12,24 +17,56 @@ import javax.swing.text.Document; * To change this template use File | Settings | File Templates. */ public class UIPassWordField extends JPasswordField { + private boolean isRollOver; - public UIPassWordField () { + public UIPassWordField() { super(); + addRollOverListener(); } - public UIPassWordField (String text) { + public UIPassWordField(String text) { super(text); + addRollOverListener(); } - public UIPassWordField (int columns) { + public UIPassWordField(int columns) { super(columns); + addRollOverListener(); } - public UIPassWordField (String text, int columns) { + public UIPassWordField(String text, int columns) { super(text, columns); + addRollOverListener(); } - public UIPassWordField (Document doc, String txt, int columns) { + public UIPassWordField(Document doc, String txt, int columns) { super(doc, txt, columns); + addRollOverListener(); + } + + private void addRollOverListener() { + this.addMouseListener(new MouseAdapter() { + @Override + public void mouseEntered(MouseEvent e) { + isRollOver = true; + UIPassWordField.this.repaint(); + } + + @Override + public void mouseExited(MouseEvent e) { + isRollOver = false; + UIPassWordField.this.repaint(); + } + }); + } + + @Override + protected void paintBorder(Graphics g) { + if (isRollOver && this.isEnabled()) { + g.setColor(UIConstants.TEXT_FILED_BORDER_SELECTED); + g.drawRect(0, 0, getWidth() - 1, getHeight() - 1); + } else { + super.paintBorder(g); + } } } \ No newline at end of file