package org.math.plot; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; import org.math.io.*; import org.math.plot.components.*; /** * BSD License * * @author Yann RICHET */ public abstract class DataPanel extends JPanel implements ComponentListener, FilePrintable, ClipBoardPrintable, StringPrintable { protected DataToolBar toolBar; protected JScrollPane scrollPane; public static int[] dimension = new int[]{400, 400}; public DataPanel() { setLayout(new BorderLayout()); initToolBar(); init(); } protected void initToolBar() { toolBar = new DataToolBar(this); add(toolBar, BorderLayout.NORTH); toolBar.setFloatable(false); } protected void initSize() { if (scrollPane != null) { scrollPane.setSize(this.getSize()); } // scrollPane.setPreferredSize(this.getSize()); } protected void init() { // initSize(); addComponentListener(this); } public void update() { // this.remove(scrollPane); toWindow(); repaint(); } protected abstract void toWindow(); public abstract void toClipBoard(); public abstract void toASCIIFile(File file); public void componentHidden(ComponentEvent e) { } public void componentMoved(ComponentEvent e) { } public void componentResized(ComponentEvent e) { /* * dimension = new int[] { (int) (this.getSize().getWidth()), (int) * (this.getSize().getHeight()) }; */ initSize(); } public void componentShown(ComponentEvent e) { } }