package com.quiltplayer.view.swing.panels.components;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import javax.swing.BorderFactory;
import javax.swing.JEditorPane;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import com.quiltplayer.external.wiki.WikipediaService;
import com.quiltplayer.model.Album;
import com.quiltplayer.view.swing.ColorConstantsDark;
import com.quiltplayer.view.swing.panels.QScrollPane;
import com.quiltplayer.view.swing.panels.QScrollPane.ScrollDirection;
import com.quiltplayer.view.swing.scrollbars.QScrollBar;
/**
* Handles the lyrics view in the PlaylistPane.
*
* @author Vlado Palczynski
*/
public class WikiComponent extends QPlaylistComponent {
private static final int VERTICAL_UNIT_INCRENET = 20;
private JScrollPane wikiScroller;
public JPanel create(Album album) {
WikipediaService ws = new WikipediaService();
JEditorPane pane = null;
try {
pane = new JEditorPane(ws.getWikiContentForPageName(album.getArtist().getArtistName().getName()));
pane.setForeground(ColorConstantsDark.PLAYLIST_LYRICS_COLOR);
pane.setBackground(ColorConstantsDark.ARTISTS_PANEL_BACKGROUND);
}
catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
wikiScroller = new QScrollPane(pane, ScrollDirection.VERTICAL);
wikiScroller.setVerticalScrollBar(new QScrollBar(JScrollBar.VERTICAL));
wikiScroller.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
wikiScroller.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
wikiScroller.setBorder(BorderFactory.createEmptyBorder());
wikiScroller.setWheelScrollingEnabled(true);
wikiScroller.getVerticalScrollBar().setUnitIncrement(VERTICAL_UNIT_INCRENET);
mainPanel.add(wikiScroller, "w 100%");
return mainPanel;
}
}