package javax.swing;
import java.awt.Dimension;
import java.awt.event.KeyEvent;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import javax.accessibility.AccessibleContext;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.DefaultEditorKit;
import javax.swing.text.EditorKit;
import javax.swing.text.JTextComponent;
public class JEditorPane extends JTextComponent
{
private static final long serialVersionUID = 3140472492599046285L;
private URL page;
private EditorKit editorKit;
boolean focus_root;
boolean manages_focus;
public JEditorPane()
{
setEditorKit(createDefaultEditorKit());
}
public JEditorPane(String url) throws IOException
{
this(new URL(url));
}
public JEditorPane(String type, String text)
{
setEditorKit(createEditorKitForContentType(type));
setText(text);
}
public JEditorPane(URL url) throws IOException
{
this();
setPage(url);
}
protected EditorKit createDefaultEditorKit()
{
return new DefaultEditorKit();
}
public static EditorKit createEditorKitForContentType(String type)
{
return new DefaultEditorKit();
}
public void fireHyperlinkUpdate(HyperlinkEvent event)
{
HyperlinkListener[] listeners = getHyperlinkListeners();
for (int index = 0; index < listeners.length; ++index)
listeners[index].hyperlinkUpdate(event);
}
public AccessibleContext getAccessibleContext()
{
return null;
}
public final String getContentType()
{
return getEditorKit().getContentType();
}
public EditorKit getEditorKit()
{
return editorKit;
}
public static String getEditorKitClassNameForContentType(String type)
{
return "text/plain";
}
public EditorKit getEditorKitForContentType(String type)
{
return editorKit;
}
public Dimension getPreferredSize()
{
return super.getPreferredSize();
}
public boolean getScrollableTracksViewportHeight()
{
return false;
}
public boolean getScrollableTracksViewportWidth()
{
return false;
}
public URL getPage()
{
return page;
}
protected InputStream getStream(URL page)
throws IOException
{
return page.openStream();
}
public String getText()
{
return super.getText();
}
public String getUIClassID()
{
return "EditorPaneUI";
}
public boolean isFocusCycleRoot()
{
return focus_root;
}
public boolean isManagingFocus()
{
return manages_focus;
}
protected String paramString()
{
return "JEditorPane";
}
protected void processComponentKeyEvent(KeyEvent e)
{
}
protected void processKeyEvent(KeyEvent e)
{
}
public void read(InputStream in, Object desc)
throws IOException
{
}
public static void registerEditorKitForContentType(String type,
String classname)
{
}
public static void registerEditorKitForContentType(String type,
String classname,
ClassLoader loader)
{
}
public void replaceSelection(String content)
{
}
public void scrollToReference(String reference)
{
}
public final void setContentType(String type)
{
if (editorKit != null
&& editorKit.getContentType().equals(type))
return;
EditorKit kit = getEditorKitForContentType(type);
if (kit != null)
setEditorKit(kit);
}
public void setEditorKit(EditorKit newValue)
{
if (editorKit == newValue)
return;
if (editorKit != null)
editorKit.deinstall(this);
EditorKit oldValue = editorKit;
editorKit = newValue;
if (editorKit != null)
{
editorKit.install(this);
setDocument(editorKit.createDefaultDocument());
}
firePropertyChange("editorKit", oldValue, newValue);
invalidate();
repaint();
}
public void setEditorKitForContentType(String type, EditorKit k)
{
}
public void setPage(String url) throws IOException
{
setPage(new URL(url));
}
public void setPage(URL page) throws IOException
{
if (page == null)
throw new IOException("invalid url");
try
{
this.page = page;
getEditorKit().read(page.openStream(), getDocument(), 0);
}
catch (BadLocationException e)
{
}
}
public void setText(String t)
{
super.setText(t);
}
public void addHyperlinkListener(HyperlinkListener listener)
{
listenerList.add(HyperlinkListener.class, listener);
}
public void removeHyperlinkListener(HyperlinkListener listener)
{
listenerList.remove(HyperlinkListener.class, listener);
}
public HyperlinkListener[] getHyperlinkListeners()
{
return (HyperlinkListener[]) getListeners(HyperlinkListener.class);
}
}