package com.limegroup.gnutella.gui.mp3; import java.awt.Font; import java.awt.Graphics; import javax.swing.JProgressBar; import javax.swing.UIManager; /** * This class handles rendering a JProgressBar (duh.) for playing songs. */ public final class SongProgressBar extends JProgressBar { public SongProgressBar() { super(); Font newFont; // ** jay declare it out of the if statement if (super.getFont() == null) // ** jay newFont = new Font("moo", Font.PLAIN, 9); // no using old font's name if it is null else newFont = new Font(super.getFont().getName(),Font.PLAIN, 9); // ** jay super.setFont(newFont); super.setString(""); // BTW, if I understood some comments in the skinLF CVS correctly, these changes may soon be unnecessary } /** * Returns the value of the SongProgressBar String * overridden here because it doesn't change * * @return int */ public int getOrientation() { return JProgressBar.HORIZONTAL; } /** * Returns the value of the SongProgressBar String * overridden here because we don't need to support all the overhead JProgressBar does * * @return * @see #setString */ public String getString(){ return super.progressString; } /** * Returns true if the progress bar has a border or false if it does not. * overridden because we always paint our border * * @return whether the progress bar paints its border */ public boolean isBorderPainted() { return true; } /** * Returns true, SongProgressBar Return whether the receiving component should use a buffer to paint * overridden because we always want buffering * * @return true */ public boolean isDoubleBuffered() { return true; } /** * Returns true, SongProgressBar always paints its contents (sometimes empty "") * overridden because we always paint our string * * @return whether the progress bar paints its string */ public boolean isStringPainted() { return true; } /** * Returns immediately, SongProgressBar never has children * overridden because we want to return quickly for performance * * @see #paint * @see java.awt.Container#paint */ protected void paintChildren(Graphics g) { //Assert.that(super.getComponentCount() == 0, " SongProgressBar acquired children!"); return; } /** * Sets the value of the SongProgressBar String * overridden here because we don't need to support all the overhead JProgressBar does * no need to firePropertyChange events and we always repaint when setting strings * * @param s the value of the percent string */ public void setString(String s){ super.progressString = s; repaint(); } /** * Notification from the UIFactory that the L&F has changed. * overridden to hardcode our UI choice, installed at instantiation * * @see JComponent#updateUI */ public void updateUI() { setUI((javax.swing.plaf.ProgressBarUI)UIManager.getUI(this)); // You had this line in here, but commented out. why? } }