/* * SizeGridDemo.java * * Copyright 2000 Eliad Technologies, Inc. All Rights Reserved. * * This software is the proprietary information of Eliad Technologies, Inc. */ package example03; import java.awt.*; import javax.swing.*; import com.eliad.swing.*; import com.eliad.util.*; import com.eliad.model.*; import com.eliad.model.defaults.*; /** * This class demonstrates how to give column sizes that depend on actual data and rendering. * @author Daniel Rosenblatt * @version 1.0 */ public class SizeGridDemo extends JFrame { /** Creates a new JSmartGrid */ public SizeGridDemo() { super("Size Grid Example"); addWindowListener ( new java.awt.event.WindowAdapter () { public void windowClosing (java.awt.event.WindowEvent evt) { System.exit(0); } } ); try { SizeGridModel model = new SizeGridModel("jdbc:odbc:Sales", "sun.jdbc.odbc.JdbcOdbcDriver"); model.setQuery("SELECT * FROM DemoQuery"); JSmartGrid grid = new JSmartGrid(model); RulerModel columnRulerModel=grid.getColumnModel(); GridModel columnHeaderModel=model.getColumnHeaderModel(); JSmartGridHeader columnHeader=new JSmartGridHeader(grid,JSmartGrid.HORIZONTAL,columnHeaderModel,null,null); for (int i=0;iwidth) width=dw; } columnRulerModel.setPreferredSize(i,width+1); /* Note : A similar mechanism could be use to set minimum or maximum size. */ } grid.setPreferredScrollableViewportSize(new Dimension(columnRulerModel.getTotalPreferredSize()+20,400)); grid.setAutoCreateRowHeader(true); JScrollPane js = new JScrollPane(grid); grid.setColumnHeader(columnHeader); getContentPane().add(js, BorderLayout.CENTER); ((JComponent)getContentPane()).setPreferredSize(new Dimension(500, 400)); pack(); } catch (Exception e) { System.out.println(e); } } /** Creates and displays a SizeGridDemo frame */ public static void main(String[] args) { SizeGridDemo sg = new SizeGridDemo(); Dimension big=Toolkit.getDefaultToolkit().getScreenSize(); Dimension small=sg.getSize(); sg.setLocation((big.width-small.width)/2, (big.height-small.height)/2); sg.setVisible(true); } }