JComponent (final Project project, final FileType type, final String text, boolean selected, boolean focused) { final JPanel panel = new JPanel(new BorderLayout()); final EditorTextField field = new EditorTextField(text, project, type) { @Override protected boolean shouldHaveBorder() { return false; } }; Font font = EditorFontType.getGlobalPlainFont(); font = new Font(font.getFontName(), font.getStyle(), JBUIScale.scaleFontSize((float)12)); field.setFont(font); field.addSettingsProvider(EditorSettingsProvider.NO_WHITESPACE); if (selected && focused) { panel.setBackground(UIUtil.getTableSelectionBackground(true)); field.setAsRendererWithSelection(UIUtil.getTableSelectionBackground(true), UIUtil.getTableSelectionForeground()); } else { panel.setBackground(UIUtil.getTableBackground()); if (selected) { panel.setBorder(new DottedBorder(UIUtil.getTableForeground())); } } panel.add(field, BorderLayout.WEST); return panel; }