private JComponent getAboutPanel() {
final DCLabel headerLabel = DCLabel.dark("DataCleaner " + Main.VERSION);
headerLabel.setFont(WidgetUtils.FONT_HEADER1);
final ImageManager imageManager = ImageManager.getInstance();
final JButton datacleanerButton = new JButton(imageManager.getImageIcon("images/links/datacleaner.png"));
datacleanerButton.addActionListener(new OpenBrowserAction("http://datacleaner.eobjects.org"));
datacleanerButton.setToolTipText("Visit the DataCleaner website");
datacleanerButton.setBorder(null);
final JButton bloggerButton = new JButton(imageManager.getImageIcon("images/links/blogger.png"));
bloggerButton.addActionListener(new OpenBrowserAction("http://kasper.eobjects.org"));
bloggerButton.setToolTipText("Follow along at our blog");
bloggerButton.setBorder(null);
final JButton linkedInButton = new JButton(imageManager.getImageIcon("images/links/linkedin.png"));
linkedInButton.addActionListener(new OpenBrowserAction("http://www.linkedin.com/groups?gid=3352784"));
linkedInButton.setToolTipText("Join the DataCleaner LinkedIn group");
linkedInButton.setBorder(null);
final DCPanel buttonPanel = new DCPanel();
buttonPanel.setLayout(new HorizontalLayout());
buttonPanel.add(datacleanerButton);
buttonPanel.add(Box.createHorizontalStrut(10));
buttonPanel.add(bloggerButton);
buttonPanel.add(Box.createHorizontalStrut(10));
buttonPanel.add(linkedInButton);
final HumanInferenceToolbarButton humanInferenceButton = new HumanInferenceToolbarButton(
imageManager.getImageIcon("images/powered-by-human-inference-bright.png"));
final DCPanel contentPanel = new DCPanel();
contentPanel.setLayout(new VerticalLayout());
contentPanel.add(headerLabel);
contentPanel.add(DCLabel.dark("Copyright (C) 2010 eobjects.org"));
contentPanel.add(Box.createVerticalStrut(20));
contentPanel.add(DCPanel.around(humanInferenceButton));
contentPanel.add(Box.createVerticalStrut(20));
contentPanel.add(DCLabel.dark("Licensed under the LGPL license"));
contentPanel.add(DCLabel.dark("(see Licensing tab)."));
contentPanel.add(Box.createVerticalStrut(30));
contentPanel.add(DCLabel.dark("Java runtime information:"));
contentPanel.add(DCLabel.dark(" " + System.getProperty("java.vm.name")));
contentPanel.add(DCLabel.dark(" by " + System.getProperty("java.vm.vendor")));
contentPanel.add(DCLabel.dark(" version " + System.getProperty("java.runtime.version")));
contentPanel.add(Box.createVerticalStrut(30));
contentPanel.add(buttonPanel);
final DCPanel mainPanel = new DCPanel(imageManager.getImage("images/window/app-icon-hires.png"), 97, 10,
WidgetUtils.BG_COLOR_BRIGHT, WidgetUtils.BG_COLOR_BRIGHTEST);
mainPanel.setBorder(new EmptyBorder(10, 10, 10, 10));
mainPanel.setLayout(new VerticalLayout());
mainPanel.add(contentPanel);