/** * ColumnDragGridDemo.java * * Copyright 2000 Eliad Technologies, Inc. All Rights Reserved. * * This software is the proprietary information of Eliad Technologies, Inc. */ package example10; import java.util.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.beans.*; import com.eliad.model.*; import com.eliad.swing.*; /** * this demo shows how to drag columns. */ public class ColumnDragGridDemo extends JFrame { private JSmartGrid grid_; public ColumnDragGridDemo() { super("Column Drag Example"); addWindowListener ( new WindowAdapter () { public void windowClosing (WindowEvent evt) { System.exit(0); } } ); grid_ = new JSmartGrid(); for (int col = 0; col < grid_.getColumnCount(); col++) { grid_.setColumnWidth(col, 50); for (int row = 0; row < grid_.getRowCount(); row++) grid_.setValueAt("" + row + col, row, col); } grid_.setSelectionMode(GridSelectionModel.SINGLE_RECTANGLE_SELECTION); grid_.setColumnAutoResizeMode(JSmartGrid.AUTO_RESIZE_OFF); grid_.setAutoCreateColumnHeader(true); JScrollPane js = new JScrollPane(grid_); getContentPane().add(js, BorderLayout.CENTER); pack(); } public void attachController() { GenericGridModel model=(GenericGridModel)grid_.getModel(); RulerModel rm=grid_.getColumnModel(); rm.addRulerModelListener(model); JSmartGrid header=(JSmartGrid)grid_.getColumnHeader(); header.setDraggable(JSmartGrid.HORIZONTAL,true); header.addGridListener(new ColumnDragController()); } public static void main(String[] args) { ColumnDragGridDemo sg = new ColumnDragGridDemo(); Dimension big=Toolkit.getDefaultToolkit().getScreenSize(); Dimension small=sg.getSize(); sg.setLocation((big.width-small.width)/2, (big.height-small.height)/2); sg.setVisible(true); sg.attachController(); } }