JTextField () { return new JTextField() { @Override public void setText(String s) { if (getText().equals(s)) { return; } super.setText(s); } @Override public Color getBackground() { return getComboBackground(false); } @Override public Border getBorder() { return DEFAULT_EDITOR_BORDER; } @Override public Insets getInsets() { return DEFAULT_EDITOR_BORDER.getBorderInsets(this); } @Override public Dimension getPreferredSize() { Dimension size = super.getPreferredSize(); return new Dimension(size.width, Math.max(JBUIScale.scale(18), size.height)); } }; }