// =========================================================================== // Copyright (c) 1996 Mort Bay Consulting Pty. Ltd. All rights reserved. // $Id: FrameSet.java,v 1.15.2.3 2003/06/04 04:47:37 starksm Exp $ // --------------------------------------------------------------------------- package org.mortbay.html; import java.io.IOException; import java.io.Writer; import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; /* ---------------------------------------------------------------- */ /** FrameSet. *
* Usage *
* FrameSet set = new FrameSet("FrameTest","*,*","*,*");
* set.frame(0,0).name("Frame1",req.getRequestPath()+"?Frame=1");
* set.frame(0,1).name("Frame2",req.getRequestPath()+"?Frame=2");
* set.frame(1,0).name("Frame3",req.getRequestPath()+"?Frame=3");
* set.frame(1,1).name("Frame4",req.getRequestPath()+"?Frame=4");
* set.write(new Writer(res.getOutputStream()));
*
* @version $Id: FrameSet.java,v 1.15.2.3 2003/06/04 04:47:37 starksm Exp $
* @author Greg Wilkins
*/
public class FrameSet extends Page
{
Frame[][] frames=null;
String colSpec=null;
String rowSpec=null;
int cols;
int rows;
String border="";
Vector frameNames=null;
Hashtable frameMap=null;
/* ------------------------------------------------------------ */
/** FrameSet constructor.
* @param colSpec Comma separated list of column widths specified
* as pixels, percentage or '*' for variable
*/
public FrameSet(String title, String colSpec, String rowSpec)
{
super(title);
this.colSpec=colSpec;
this.rowSpec=rowSpec;
cols=1;
rows=1;
int i=-1;
while(colSpec != null && (i=colSpec.indexOf(",",i+1))>=0)
cols++;
i=-1;
while(rowSpec != null && (i=rowSpec.indexOf(",",i+1))>=0)
rows++;
frames=new Frame[cols][rows];
for(int c=0;c