package JGrid;
import java.awt.*; import java.util.*; import java.io.*; import java.net.*; import java.applet.*;
public class NetTableDemo extends Applet implements JGridCallback { Label msgLabel = new Label(); JGrid2 grid; String[][] data;
public void init() { int colNum = new Integer(getParameter("columns")).intValue(); int rowNum = new Integer(getParameter("rows")).intValue(); String url = getParameter("dataURL");
String[] headers = new String[colNum]; for (int i=0; i<colNum; i++) headers[i] = "column "+i;
grid = new JGrid2(headers,true,JGrid2.BOTH_BORDER); grid.setCallback(this); try { URL dataURL = new URL(url); BufferedReader reader = new BufferedReader( new InputStreamReader(dataURL.openStream())); data = new String[rowNum][colNum]; for (int i=0; i<rowNum; i++) { String line = reader.readLine(); StringTokenizer st = new StringTokenizer(line); for (int j=0; j<colNum; j++) { data[i][j] = st.nextToken();//new Double(st.nextToken()).toString(); } } } catch(Exception e) { e.printStackTrace(); } grid.setContents(data); int[] colWidths = new int[colNum]; for (int i=0; i<colNum; i++) colWidths[i] = 60; colWidths[2] = 100; grid.setColWidths(colWidths); setLayout(new BorderLayout()); add("Center",grid); add("South",msgLabel); show(); }
public void clickedCell (int row, int column,JGrid2 grid ) { msgLabel.setText("clicked on cell ("+row+","+column+")"); JCell aCell = grid.getCell(column,row); if (aCell.httpAdd != null) { try { AppletContext ac = getAppletContext(); ac.showDocument(new URL(aCell.httpAdd),"_blank"); } catch(Exception e) {} } } public void clickedColumn (int column,JGrid2 grid ) { msgLabel.setText("clicked on column "+column); } }