org.pscode.ui.dukebox
Class DukeBoxPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.pscode.ui.dukebox.DukeBoxPanel
All Implemented Interfaces:
ActionListener, KeyListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, LineListener, TrackHandler

public class DukeBoxPanel
extends JPanel
implements KeyListener, ActionListener, TrackHandler, LineListener

A jukebox style audio track player with GUI and simple controls.

Version:
2009-09-15
Author:
Andrew Thompson
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 JButton next
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DukeBoxPanel()
           
 
Method Summary
 void actionPerformed(ActionEvent ae)
           
 void clearTraceSoon()
           
 JPanel getControlPanel()
           
 Track getCurrentTrack()
           
 BufferedImage getIcon(int red, int green, int blue)
          make an icon for the frame..
 JMenu getInfoMenu()
           
 JMenu getInformationMenu()
           
 PlayListPanel getM3uPanel(URL url)
           
 JMenu getOptionsMenu()
           
 JPanel getPanelOfLabelValues(String[][] params)
           
 BufferedImage getRandomIcon()
           
 JTable getTable(ArrayList<Track> tableTracks)
           
 TrackerPanel getTrackerPanel()
           
 void handleTrack(Track track)
           
 boolean isFullScreen()
           
 void keyPressed(KeyEvent ke)
          Respond to keys.
 void keyReleased(KeyEvent ke)
           
 void keyTyped(KeyEvent ke)
           
 void loadClip(URL clipURL)
           
 void next()
           
 void playAudioFile(File f)
          Open and play the specified audio File.
 void playAudioFile(URL url)
          Open and play the specified audio File.
 void playURL(URL url)
           
 void refreshPlayListPanel(URL url)
           
 void setClip(Clip clip)
           
 void setDefaultFocus()
           
 void setIcon()
          Attempts to set the icon of the root level ancestor
 void setTitle(String title)
          Attempts to set the title of the root level ancestor
 void setTrackTitle()
           
 void showAbout()
           
 void showDudTrackInfo()
           
 void showHelp()
           
 void showHistoryInfo()
           
 void showPlayListInfo()
          Show general information on this play list, and a button to open it.
 void showTrackInfo()
           
 void toDo(String message)
           
 void update(LineEvent le)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

next

public JButton next
Constructor Detail

DukeBoxPanel

public DukeBoxPanel()
Method Detail

refreshPlayListPanel

public void refreshPlayListPanel(URL url)

update

public void update(LineEvent le)
Specified by:
update in interface LineListener

getOptionsMenu

public JMenu getOptionsMenu()

getTrackerPanel

public TrackerPanel getTrackerPanel()

getInfoMenu

public JMenu getInfoMenu()

handleTrack

public void handleTrack(Track track)
Specified by:
handleTrack in interface TrackHandler

actionPerformed

public void actionPerformed(ActionEvent ae)
Specified by:
actionPerformed in interface ActionListener

setTitle

public void setTitle(String title)
Attempts to set the title of the root level ancestor


setIcon

public void setIcon()
Attempts to set the icon of the root level ancestor


getControlPanel

public JPanel getControlPanel()

setDefaultFocus

public void setDefaultFocus()

clearTraceSoon

public void clearTraceSoon()

loadClip

public void loadClip(URL clipURL)
              throws IOException,
                     UnsupportedAudioFileException,
                     LineUnavailableException
Throws:
IOException
UnsupportedAudioFileException
LineUnavailableException

playAudioFile

public void playAudioFile(File f)
                   throws UnsupportedAudioFileException,
                          LineUnavailableException,
                          IOException
Open and play the specified audio File.

Throws:
UnsupportedAudioFileException
LineUnavailableException
IOException

playAudioFile

public void playAudioFile(URL url)
                   throws UnsupportedAudioFileException,
                          LineUnavailableException,
                          IOException
Open and play the specified audio File.

Throws:
UnsupportedAudioFileException
LineUnavailableException
IOException

playURL

public void playURL(URL url)
             throws UnsupportedAudioFileException,
                    LineUnavailableException,
                    IOException
Throws:
UnsupportedAudioFileException
LineUnavailableException
IOException

setClip

public void setClip(Clip clip)

getCurrentTrack

public Track getCurrentTrack()

keyReleased

public void keyReleased(KeyEvent ke)
Specified by:
keyReleased in interface KeyListener

keyTyped

public void keyTyped(KeyEvent ke)
Specified by:
keyTyped in interface KeyListener

keyPressed

public void keyPressed(KeyEvent ke)
Respond to keys.

Specified by:
keyPressed in interface KeyListener

setTrackTitle

public void setTrackTitle()

isFullScreen

public boolean isFullScreen()

getM3uPanel

public PlayListPanel getM3uPanel(URL url)

getTable

public JTable getTable(ArrayList<Track> tableTracks)

showDudTrackInfo

public void showDudTrackInfo()

showHistoryInfo

public void showHistoryInfo()

showPlayListInfo

public void showPlayListInfo()
Show general information on this play list, and a button to open it.


next

public void next()

getInformationMenu

public JMenu getInformationMenu()

getRandomIcon

public BufferedImage getRandomIcon()

getIcon

public BufferedImage getIcon(int red,
                             int green,
                             int blue)
make an icon for the frame..


showTrackInfo

public void showTrackInfo()

getPanelOfLabelValues

public JPanel getPanelOfLabelValues(String[][] params)

showHelp

public void showHelp()

showAbout

public void showAbout()

toDo

public void toDo(String message)