package jas2.bean;
import javax.swing.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
import java.awt.*;
import java.util.*;
import jas2.hist.*;
import java.io.*;
import java.net.*;
/**
* An XMLPlot is a bean intended to be embedded in a web page displayed within the JAS
* web page viewer. XMLPlot has a single property, xmlURL, which specifies the URL of an XML
* file to read to create a plot.
*/
public class XMLPlot extends JPanel implements PageContextHook
{
public XMLPlot()
{
super(new BorderLayout(0,0));
m_hist = new JASHist();
add(m_hist,BorderLayout.CENTER);
}
public Dimension getPreferredSize()
{
return m_hist.getPreferredSize();
}
public Dimension getMinimumSize()
{
return getPreferredSize();
}
public Dimension getMaximumSize()
{
return getPreferredSize();
}
public void setXmlURL(String xml)
{
m_xml = xml;
}
public String getXmlURL()
{
return m_xml;
}
public JASHist getHist()
{
return m_hist;
}
public void init(PageContext context) throws Exception
{
XMLHistBuilder xmh = readXML(context);
xmh.modifyPlot(m_hist);
}
protected XMLHistBuilder readXML(PageContext context) throws Exception
{
URL url = new URL(context.getDocumentBase(),m_xml);
Reader in = new InputStreamReader(url.openStream());
XMLHistBuilder xmh = new XMLHistBuilder(in,m_xml);
in.close();
return xmh;
}
public void destroy()
{
m_hist.destroy();
}
protected String m_xml;
protected jas2.hist.JASHist m_hist;
}
Ads help maintain this website.