Source:
private void showNews(NewsItem newsItem) { JXPanel innerPanel = new JXPanel(new GridBagLayout()); CloseButton closeButton = new CloseButton(); JPanel closePanel = new JPanel(new GridBagLayout()); closePanel.setBackground(Color.WHITE); closePanel.add(new JLabel(""), LayoutHelper.getGBC(0, 0, 1, 1.0D)); closePanel.add(closeButton, LayoutHelper.getGBC(1, 0, 1, 0.0D)); closeButton.setVerticalAlignment(SwingConstants.TOP); closeButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { newsPanel.setVisible(false); extension.getQuickStartParam().setClearedNewsItem(newsItem.getId()); } }); JButton learnMoreButton = new JButton(Constant.messages.getString("quickstart.buton.news")); learnMoreButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { DesktopUtils.openUrlInBrowser(newsItem.getUri()); } }); innerPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.RED), Constant.messages.getString("quickstart.label.news"))); innerPanel.setBackground(Color.WHITE); innerPanel.add(new JLabel(newsItem.getText()), LayoutHelper.getGBC(0, 0, 1, 0.0D, new Insets(5, 5, 5, 5))); innerPanel.add(learnMoreButton, LayoutHelper.getGBC(1, 0, 1, 0.0D, new Insets(5, 5, 5, 5))); innerPanel.add(closeButton, LayoutHelper.getGBC(2, 0, 1, 0.0D)); newsPanel.add(new JLabel(""), LayoutHelper.getGBC(0, 0, 1, 0.5D, new Insets(5, 5, 5, 5))); newsPanel.add(innerPanel, LayoutHelper.getGBC(2, 0, 1, 0.5D, new Insets(5, 5, 5, 5))); newsPanel.add(new JLabel(""), LayoutHelper.getGBC(3, 0, 1, 0.5D, new Insets(5, 5, 5, 5))); newsPanel.revalidate(); }

Target:
private void showNews(NewsItem newsItem) { JXPanel innerPanel = new JXPanel(new GridBagLayout()); CloseButton closeButton = new CloseButton(); JPanel closePanel = new JPanel(new GridBagLayout()); closePanel.setBackground(Color.WHITE); closePanel.add(new JLabel(""), LayoutHelper.getGBC(0, 0, 1, 1.0D)); closePanel.add(closeButton, LayoutHelper.getGBC(1, 0, 1, 0.0D)); closeButton.setVerticalAlignment(SwingConstants.TOP); closeButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { newsPanel.setVisible(false); extension.getQuickStartParam().setClearedNewsItem(newsItem.getId()); } }); JButton learnMoreButton = new JButton(Constant.messages.getString("quickstart.button.news")); learnMoreButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { DesktopUtils.openUrlInBrowser(newsItem.getUri()); } }); innerPanel.setBorder( BorderFactory.createTitledBorder( BorderFactory.createLineBorder(Color.RED), Constant.messages.getString("quickstart.label.news"))); innerPanel.setBackground(Color.WHITE); innerPanel.add( new JLabel(newsItem.getText()), LayoutHelper.getGBC(0, 0, 1, 0.0D, new Insets(5, 5, 5, 5))); innerPanel.add(learnMoreButton, LayoutHelper.getGBC(1, 0, 1, 0.0D, new Insets(5, 5, 5, 5))); innerPanel.add(closeButton, LayoutHelper.getGBC(2, 0, 1, 0.0D)); newsPanel.add( new JLabel(""), LayoutHelper.getGBC(0, 0, 1, 0.5D, new Insets(5, 5, 5, 5))); newsPanel.add(innerPanel, LayoutHelper.getGBC(2, 0, 1, 0.5D, new Insets(5, 5, 5, 5))); newsPanel.add( new JLabel(""), LayoutHelper.getGBC(3, 0, 1, 0.5D, new Insets(5, 5, 5, 5))); newsPanel.revalidate(); }