Source:
private void initGUIComponents(JPanel mainPanel) { setTitle(Messages.getString("AboutFrame.about") + AppConstants.APP_NAME); setSize(350, 375); setResizable(false); setLocationRelativeTo(this); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setLayout(new GridBagLayout()); GridBagConstraints constraints = new GridBagConstraints(); JLabel frontPageImage = null; JLabel piecePicture = null; try { frontPageImage = new JLabel(GuiUtility.createImageIcon(300, 200, FileUtility.getImagePath("front_page_image.jpeg", true))); piecePicture = new JLabel(GuiUtility.createImageIcon(48, 48, FileUtility.getImagePath("d_King.png", true))); } catch (IOException e1) { e1.printStackTrace(); } Font font = new Font(Messages.getString("AboutFrame.verdana"), Font.BOLD, 18); JLabel title = new JLabel(AppConstants.APP_NAME + Messages.getString("AboutFrame.newline")); title.setFont(font); JPanel topPanel = new JPanel(); topPanel.add(title); topPanel.add(frontPageImage); JTextArea infoTextArea = new JTextArea(); infoTextArea.setEditable(false); infoTextArea.setText(Messages.getString("AboutFrame.version") + Messages.getString("AboutFrame.visitOurSite")); JButton siteButton = new JButton(); siteButton.setIcon(piecePicture.getIcon()); siteButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent event) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI(AppConstants.PROJECT_URL)); } catch (Exception e) { e.printStackTrace(); } } } }); constraints.gridy = 0; add(title, constraints); constraints.gridy = 1; add(frontPageImage, constraints); constraints.gridy = 2; add(infoTextArea, constraints); constraints.gridy = 3; add(siteButton, constraints); setVisible(true); }

Target:
private void initGUIComponents(JPanel mainPanel) { setTitle(Messages.getString("AboutFrame.about") + AppConstants.APP_NAME); setSize(350, 375); setResizable(false); setLocationRelativeTo(this); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setLayout(new GridBagLayout()); GridBagConstraints constraints = new GridBagConstraints(); JLabel frontPageImage = null; JLabel piecePicture = null; try { frontPageImage = new JLabel(GuiUtility.createImageIcon(300, 200, "/front_page_image.jpeg")); piecePicture = new JLabel(GuiUtility.createImageIcon(48, 48, "/d_King.png")); } catch (IOException e1) { e1.printStackTrace(); } Font font = new Font(Messages.getString("AboutFrame.verdana"), Font.BOLD, 18); JLabel title = new JLabel(AppConstants.APP_NAME + Messages.getString("AboutFrame.newline")); title.setFont(font); JPanel topPanel = new JPanel(); topPanel.add(title); topPanel.add(frontPageImage); JTextArea infoTextArea = new JTextArea(); infoTextArea.setEditable(false); infoTextArea.setText(Messages.getString("AboutFrame.version") + Messages.getString("AboutFrame.visitOurSite")); JButton siteButton = new JButton(); siteButton.setIcon(piecePicture.getIcon()); siteButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent event) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI(AppConstants.PROJECT_URL)); } catch (Exception e) { e.printStackTrace(); } } } }); constraints.gridy = 0; add(title, constraints); constraints.gridy = 1; add(frontPageImage, constraints); constraints.gridy = 2; add(infoTextArea, constraints); constraints.gridy = 3; add(siteButton, constraints); setVisible(true); }