}
} );
tetrisMenu.add ( new JMenu ( "About" ) );
tetrisFrame.setJMenuBar ( tetrisMenu );
final WebButton tetrisFrameIcon = new WebButton ( "Tetris", loadIcon ( "tetris.png" ) );
tetrisFrameIcon.setRolloverDecoratedOnly ( true );
tetrisFrameIcon.setHorizontalTextPosition ( WebButton.CENTER );
tetrisFrameIcon.setVerticalTextPosition ( WebButton.BOTTOM );
tetrisFrameIcon.addActionListener ( new ActionListener ()
{
private boolean loading = false;
private boolean firstLoad = true;
@Override
public void actionPerformed ( ActionEvent e )
{
if ( loading || tetrisFrameIcon.getClientProperty ( DesktopPaneIconMoveAdapter.DRAGGED_MARK ) != null )
{
return;
}
tetrisFrameIcon.setIcon ( loadIcon ( "loader.gif" ) );
loading = true;
new Thread ( new Runnable ()
{
@Override
public void run ()
{
if ( firstLoad )
{
firstLoad = false;
ThreadUtils.sleepSafely ( 1000 );
}
SwingUtilities.invokeLater ( new Runnable ()
{
@Override
public void run ()
{
if ( tetrisFrame.isClosed () )
{
if ( tetrisFrame.getParent () == null )
{
desktopPane.add ( tetrisFrame );
}
tetrisFrame.open ();
tetrisFrame.setIcon ( false );
}
else
{
tetrisFrame.setIcon ( !tetrisFrame.isIcon () );
}
tetrisFrameIcon.setIcon ( loadIcon ( "tetris.png" ) );
loading = false;
}
} );
}
} ).start ();
}
} );
DesktopPaneIconMoveAdapter ma2 = new DesktopPaneIconMoveAdapter ();
tetrisFrameIcon.addMouseListener ( ma2 );
tetrisFrameIcon.addMouseMotionListener ( ma2 );
tetrisFrameIcon.setBounds ( 25, 25, 100, 75 );
desktopPane.add ( tetrisFrameIcon );
tetrisFrame.pack ();
tetrisFrame.setLocation ( 25 + 100 + 25, 25 );
tetrisFrame.close ();