ShortcutFilteringPanel() { super(new VerticalLayout(JBUI.scale(2))); myKeyboardPanel.myFirstStroke.setColumns(13); myKeyboardPanel.myFirstStroke.putClientProperty("JTextField.variant", "search"); myKeyboardPanel.mySecondStroke.setColumns(13); myKeyboardPanel.mySecondStroke.putClientProperty("JTextField.variant", "search"); myKeyboardPanel.mySecondStroke.setVisible(false); myKeyboardPanel.mySecondStrokeEnable.setText( KeyMapBundle.message("filter.enable.second.stroke.checkbox")); myKeyboardPanel.mySecondStrokeEnable.addChangeListener(myChangeListener); myKeyboardPanel.add(VerticalLayout.TOP, myKeyboardPanel.myFirstStroke); myKeyboardPanel.add(VerticalLayout.TOP, myKeyboardPanel.mySecondStrokeEnable); myKeyboardPanel.add(VerticalLayout.TOP, myKeyboardPanel.mySecondStroke); myKeyboardPanel.addPropertyChangeListener("shortcut", myPropertyListener); myKeyboardPanel.setBorder(JBUI.Borders.empty(4)); JLabel label = new JLabel(KeyMapBundle.message("filter.mouse.pad.label")); label.setOpaque(false); label.setIcon(AllIcons.General.MouseShortcut); label.setForeground(MouseShortcutPanel.FOREGROUND); label.setBorder(JBUI.Borders.empty(14, 4)); myMousePanel.add(BorderLayout.CENTER, label); myMousePanel.addPropertyChangeListener("shortcut", myPropertyListener); myMousePanel.setBorder(JBUI.Borders.customLine(MouseShortcutPanel.BORDER, 1, 0, 0, 0)); add(VerticalLayout.TOP, myKeyboardPanel); add(VerticalLayout.TOP, myMousePanel); addPropertyChangeListener("shortcut", myPropertyListener); }