Package net.laubenberger.tyr.module.musicplayer

Source Code of net.laubenberger.tyr.module.musicplayer.DialogCommander

/*
* Copyright (c) 2011 by Stefan Laubenberger.
*
* MusicPlayer is free software: you can redistribute it and/or modify
* it under the terms of the General Public License v2.0.
*
* MusicPlayer is distributed together with Tyr in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* See the GNU General Public License for more details:
* <http://www.gnu.org/licenses>
*
* This distribution is available at:
* <http://code.google.com/p/tyr/>
* <http://dev.laubenberger.net/tyr/>
*
* Contact information:
* Stefan Laubenberger
* Bullingerstrasse 53
* CH-8004 Zuerich
*
* <http://www.laubenberger.net>
*
* <laubenberger@gmail.com>
*/
package net.laubenberger.tyr.module.musicplayer;

import java.awt.Insets;
import javax.swing.WindowConstants;
import net.laubenberger.bogatyr.helper.HelperLog;
import net.laubenberger.bogatyr.service.localizer.Localizer;
import net.laubenberger.bogatyr.view.swing.Button;
import net.laubenberger.bogatyr.view.swing.Dialog;
import net.laubenberger.bogatyr.view.swing.Group;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* Dialog for music player commands.
*
* @author Stefan Laubenberger
* @version 0.7.0 (20110121)
* @since 0.1.0
*/
public class DialogCommander extends Dialog {
  private static final long serialVersionUID = 4161135982451721307L;

  private static final Logger log = LoggerFactory.getLogger(DialogCommander.class);

  final MusicPlayer mp;
  final Localizer localizer;

  public DialogCommander(final MusicPlayer mp) {
    super(mp.getOwner());
    if (log.isTraceEnabled()) log.trace(HelperLog.constructor(mp));

    this.mp = mp;
    localizer = mp.getModel().getLocalizer();
  }

  {
    setAlwaysOnTop(true);
    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
//    setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    setResizable(false);
  }

  /*
   * Private methods
   */

  private void createLayout() {
    getContentPane().removeAll();

    if (!mp.isRunning()) {
      setTitle(localizer.getValue(HelperResource.RES_LABEL_STOPPED));
    }

    final Button buttonOpen = new Button(mp.getActionOpen());
    buttonOpen.setFocusable(false);

    final Button buttonStart = new Button(mp.getActionStart());
    buttonStart.setFocusable(false);

    final Button buttonStop = new Button(mp.getActionStop());
    buttonStop.setFocusable(false);

    final Button buttonSkipBackward = new Button(mp.getActionSkipBackward());
    buttonSkipBackward.setFocusable(false);

    final Button buttonSkipForward = new Button(mp.getActionSkipForward());
    buttonSkipForward.setFocusable(false);

    final Group group = new Group(new Insets(5, 5, 5, 5), buttonOpen, buttonStart, buttonStop, buttonSkipBackward,
        buttonSkipForward);

    getContentPane().add(group);
    pack();
    // setVisible(true);

  }

  /*
   * Overridden methods
   */

  @Override
  public void createAndShowGUI() {
    if (log.isDebugEnabled()) log.debug(HelperLog.methodStart());
   
    createLayout();
    pack();

    mp.getDialogs().add(this);

    super.createAndShowGUI();
   
    if (log.isDebugEnabled()) log.debug(HelperLog.methodExit());
  }

  @Override
  public void clearAndHide() {
    if (log.isDebugEnabled()) log.debug(HelperLog.methodStart());
   
    mp.getDialogs().remove(this);

    super.clearAndHide();
   
    if (log.isDebugEnabled()) log.debug(HelperLog.methodExit());
  }
}
TOP

Related Classes of net.laubenberger.tyr.module.musicplayer.DialogCommander

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.