/[classpath]/classpath/javax/swing/JTable.java
ViewVC logotype

Diff of /classpath/javax/swing/JTable.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.9.2.16 by tromey, Sat Nov 26 05:29:42 2005 UTC revision 1.9.2.17 by gnu_andrew, Sun Nov 27 21:00:37 2005 UTC
# Line 949  public class JTable Line 949  public class JTable
949        if (ev.getPropertyName().equals("preferredWidth"))        if (ev.getPropertyName().equals("preferredWidth"))
950          {          {
951            JTableHeader header = getTableHeader();            JTableHeader header = getTableHeader();
952            TableColumn col = (TableColumn) ev.getSource();            if (header != null)
953            header.setResizingColumn(col);              {
954            doLayout();                TableColumn col = (TableColumn) ev.getSource();
955            header.setResizingColumn(null);                header.setResizingColumn(col);
956                  doLayout();
957                  header.setResizingColumn(null);
958                }
959          }          }
960      }      }
961    }    }
# Line 1763  public class JTable Line 1766  public class JTable
1766      if ((event.getFirstRow() ==TableModelEvent.HEADER_ROW)      if ((event.getFirstRow() ==TableModelEvent.HEADER_ROW)
1767          && autoCreateColumnsFromModel)          && autoCreateColumnsFromModel)
1768    
1769          createDefaultColumnsFromModel();        createDefaultColumnsFromModel();
1770    
1771      // If the structure changes, we need to revalidate, since that might      // If the structure changes, we need to revalidate, since that might
1772      // affect the size parameters of the JTable. Otherwise we only need      // affect the size parameters of the JTable. Otherwise we only need
1773      // to perform a repaint to update the view.      // to perform a repaint to update the view.
1774      if (event.getType() == TableModelEvent.INSERT      if (event.getType() == TableModelEvent.INSERT)
         || event.getType() == TableModelEvent.DELETE)  
1775        revalidate();        revalidate();
1776        else if (event.getType() == TableModelEvent.DELETE)
1777          {
1778            if (dataModel.getRowCount() == 0)
1779              clearSelection();
1780            revalidate();
1781          }
1782      repaint();      repaint();
1783    }    }
1784    
# Line 1791  public class JTable Line 1799  public class JTable
1799    {    {
1800      if (point != null)      if (point != null)
1801        {        {
         int x0 = getLocation().x;  
1802          int ncols = getColumnCount();          int ncols = getColumnCount();
1803          Dimension gap = getIntercellSpacing();          Dimension gap = getIntercellSpacing();
1804          TableColumnModel cols = getColumnModel();          TableColumnModel cols = getColumnModel();
# Line 1821  public class JTable Line 1828  public class JTable
1828    {    {
1829      if (point != null)      if (point != null)
1830        {        {
         int y0 = getLocation().y;  
1831          int nrows = getRowCount();          int nrows = getRowCount();
1832          int height = getRowHeight();          int height = getRowHeight();
1833          int y = point.y;          int y = point.y;
# Line 1890  public class JTable Line 1896  public class JTable
1896     * @return The current value of the selectedRow property     * @return The current value of the selectedRow property
1897     */     */
1898    public int getSelectedRow ()    public int getSelectedRow ()
1899    {    {    
1900      return selectionModel.getMinSelectionIndex();      return selectionModel.getMinSelectionIndex();
1901    }    }
1902        
# Line 1979  public class JTable Line 1985  public class JTable
1985        }        }
1986    }    }
1987    
   
   
1988    public TableCellRenderer getCellRenderer(int row, int column)    public TableCellRenderer getCellRenderer(int row, int column)
1989    {    {
1990      TableCellRenderer renderer =      TableCellRenderer renderer =
1991        columnModel.getColumn(column).getCellRenderer();        columnModel.getColumn(column).getCellRenderer();
       
1992      if (renderer == null)      if (renderer == null)
1993        renderer = getDefaultRenderer(dataModel.getColumnClass(column));        renderer = getDefaultRenderer(getColumnClass(column));
1994        
1995      return renderer;      return renderer;
1996    }    }
1997    
# Line 2034  public class JTable Line 2037  public class JTable
2037                                     int row,                                     int row,
2038                                     int column)                                     int column)
2039    {    {
2040      boolean rsa = getRowSelectionAllowed();  
2041      boolean csa = getColumnSelectionAllowed();      boolean rowSelAllowed = getRowSelectionAllowed();
2042      boolean rs = rsa ? getSelectionModel().isSelectedIndex(row) : false;      boolean colSelAllowed = getColumnSelectionAllowed();
2043      boolean cs = csa ? columnModel.getSelectionModel().isSelectedIndex(column) : false;      boolean isSel = false;
2044      boolean isSelected = ((rsa && csa && rs && cs)      if (rowSelAllowed && colSelAllowed || !rowSelAllowed && !colSelAllowed)
2045                            || (rsa && !csa && rs)        isSel = isCellSelected(row, column);
2046                            || (!rsa && csa && cs));      else
2047              isSel = isRowSelected(row) && getRowSelectionAllowed()
2048               || isColumnSelected(column) && getColumnSelectionAllowed();
2049    
2050        // Determine the focused cell. The focused cell is the cell at the
2051        // leadSelectionIndices of the row and column selection model.
2052        ListSelectionModel rowSel = getSelectionModel();
2053        ListSelectionModel colSel = getColumnModel().getSelectionModel();
2054        boolean hasFocus = hasFocus() && isEnabled()
2055                           && rowSel.getLeadSelectionIndex() == row
2056                           && colSel.getLeadSelectionIndex() == column;
2057    
2058      return renderer.getTableCellRendererComponent(this,      return renderer.getTableCellRendererComponent(this,
2059                                                    dataModel.getValueAt(row,                                                    dataModel.getValueAt(row,
2060                                                                         convertColumnIndexToModel(column)),                                                                         convertColumnIndexToModel(column)),
2061                                                    isSelected,                                                    isSel,
2062                                                    false, // hasFocus                                                    hasFocus,
2063                                                    row, column);                                                    row, column);
2064    }    }
2065    
# Line 2212  public class JTable Line 2225  public class JTable
2225      int lo = lsm.getMinSelectionIndex();      int lo = lsm.getMinSelectionIndex();
2226      int hi = lsm.getMaxSelectionIndex();      int hi = lsm.getMaxSelectionIndex();
2227      int j = 0;      int j = 0;
     java.util.ArrayList ls = new java.util.ArrayList();  
2228      if (lo != -1 && hi != -1)      if (lo != -1 && hi != -1)
2229        {        {
2230          switch (lsm.getSelectionMode())          switch (lsm.getSelectionMode())
# Line 2968  public class JTable Line 2980  public class JTable
2980    
2981    public Class<?> getColumnClass(int column)    public Class<?> getColumnClass(int column)
2982    {    {
2983      return dataModel.getColumnClass(column);      return getModel().getColumnClass(column);
2984    }    }
2985        
2986    public String getColumnName(int column)    public String getColumnName(int column)

Legend:
Removed from v.1.9.2.16  
changed lines
  Added in v.1.9.2.17

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26