public void addLinkIcon(ImageIcon desktopIcon, String iconText, final ActionListener listener){
        final WebButton internalFrameIcon = new WebButton ( iconText, desktopIcon);
        internalFrameIcon.setRolloverDecoratedOnly ( true );
        internalFrameIcon.setHorizontalTextPosition ( WebButton.CENTER );
        internalFrameIcon.setVerticalTextPosition ( WebButton.BOTTOM );
        internalFrameIcon.addActionListener ( new ActionListener ()
        {
            public void actionPerformed ( ActionEvent e )
            {
                if ( internalFrameIcon.getClientProperty (Adapter.DRAGGED_MARK) != null )
                {
                    return;
                }
                else
                {
                    listener.actionPerformed(null);
                }
            }
        } );
        Adapter ma1 = new Adapter(this);
        internalFrameIcon.addMouseListener (ma1);
        internalFrameIcon.addMouseMotionListener (ma1);
        internalFrameIcon.setToolTipText(iconText);
        Random rnd = new Random();
        internalFrameIcon.setBounds(rnd.nextInt(frame.getWidth()), rnd.nextInt(frame.getHeight()), 100, 75);
        add (internalFrameIcon);
        internalIcons.add(internalFrameIcon);
	}