void (@NotNull List<Consent> consents) { consentMapping.clear(); if (consents.isEmpty()) { JLabel label = new JLabel(IdeBundle.message("gdpr.label.there.are.no.data.sharing.options.available"), SwingConstants.CENTER); label.setVerticalAlignment(SwingConstants.CENTER); label.setOpaque(true); label.setBackground(JBColor.background()); removeAll(); add(label); return; } final JPanel body = new JPanel(new GridBagLayout()); body.setBackground(myPreferencesMode ? UIUtil.getPanelBackground() : UIUtil.getEditorPaneBackground()); boolean addCheckBox = myPreferencesMode || consents.size() > 1; for (Iterator<Consent> it = consents.iterator(); it.hasNext(); ) { final Consent consent = it.next(); final JComponent comp = createConsentElement(consent, addCheckBox); body.add(comp, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, !it.hasNext() && myPreferencesMode ? 1.0 : 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, it.hasNext() ? JBUI.insets(0, 0, 10, 0) : JBInsets.emptyInsets(), 0, 0) ); } if (!ConsentOptions.getInstance().isEAP()) { addHintLabel(body, IdeBundle.message("gdpr.hint.text.apply.to.all.installed.products", ApplicationInfoImpl.getShadowInstance().getShortCompanyName())); } if (!myPreferencesMode) { addHintLabel(body, IdeBundle.message("gdpr.hint.text.you.can.always.change.this.behavior", ShowSettingsUtil.getSettingsMenuName())); } if (!myPreferencesMode) { body.setBorder(JBUI.Borders.empty(10)); } removeAll(); JBScrollPane scrollPane = new JBScrollPane(body, VERTICAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_AS_NEEDED); scrollPane.setBorder(JBUI.Borders.empty()); add(scrollPane); }