different insets for different search fields

This commit is contained in:
Konstantin Bulenkov
2013-07-29 12:40:06 +02:00
parent a5ce0016eb
commit 61dd4a29b2
2 changed files with 7 additions and 1 deletions
@@ -31,7 +31,9 @@ import java.awt.*;
public class DarculaTextBorder implements Border, UIResource {
@Override
public Insets getBorderInsets(Component c) {
if (DarculaTextFieldUI.isSearchField(c)) {
if (DarculaTextFieldUI.isSearchFieldWithHistoryPopup(c)) {
return new InsetsUIResource(5, 7 + 16 + 3, 5, 7 + 16);
} else if (DarculaTextFieldUI.isSearchField(c)) {
return new InsetsUIResource(5, 4 + 16 + 3, 5, 7 + 16);
} else {
return new InsetsUIResource(5, 7, 5, 7);
@@ -194,4 +194,8 @@ public class DarculaTextFieldUI extends BasicTextFieldUI {
public static boolean isSearchField(Component c) {
return c instanceof JTextField && "search".equals(((JTextField)c).getClientProperty("JTextField.variant"));
}
public static boolean isSearchFieldWithHistoryPopup(Component c) {
return isSearchField(c) && ((JTextField)c).getClientProperty("JTextField.Search.FindPopup") instanceof JPopupMenu;
}
}