< prev index next >

src/java.desktop/share/classes/sun/swing/SwingUtilities2.java

Print this page




 630         Dimension itemSize = item.getPreferredSize();
 631         Rectangle cellBounds = list.getCellBounds(index, index);
 632         if (!item.getComponentOrientation().isLeftToRight()) {
 633             cellBounds.x += (cellBounds.width - itemSize.width);
 634         }
 635         cellBounds.width = itemSize.width;
 636 
 637         return cellBounds.contains(point);
 638     }
 639 
 640 
 641     /**
 642      * Returns true if the given point is outside the preferredSize of the
 643      * item at the given row of the table.  (Column must be 0).
 644      * Does not check the "Table.isFileList" property. That should be checked
 645      * before calling this method.
 646      * This is used to make Windows {@literal L&F} JFileChooser act
 647      * like native dialogs.
 648      */
 649     public static boolean pointOutsidePrefSize(JTable table, int row, int column, Point p) {





 650         if (table.convertColumnIndexToModel(column) != 0 || row == -1) {
 651             return true;
 652         }
 653         TableCellRenderer tcr = table.getCellRenderer(row, column);
 654         Object value = table.getValueAt(row, column);
 655         Component cell = tcr.getTableCellRendererComponent(table, value, false,
 656                 false, row, column);
 657         Dimension itemSize = cell.getPreferredSize();
 658         Rectangle cellBounds = table.getCellRect(row, column, false);
 659         cellBounds.width = itemSize.width;
 660         cellBounds.height = itemSize.height;
 661 
 662         // See if coords are inside
 663         // ASSUME: mouse x,y will never be < cell's x,y
 664         assert (p.x >= cellBounds.x && p.y >= cellBounds.y);
 665         return p.x > cellBounds.x + cellBounds.width ||
 666                 p.y > cellBounds.y + cellBounds.height;
 667     }
 668 
 669     /**




 630         Dimension itemSize = item.getPreferredSize();
 631         Rectangle cellBounds = list.getCellBounds(index, index);
 632         if (!item.getComponentOrientation().isLeftToRight()) {
 633             cellBounds.x += (cellBounds.width - itemSize.width);
 634         }
 635         cellBounds.width = itemSize.width;
 636 
 637         return cellBounds.contains(point);
 638     }
 639 
 640 
 641     /**
 642      * Returns true if the given point is outside the preferredSize of the
 643      * item at the given row of the table.  (Column must be 0).
 644      * Does not check the "Table.isFileList" property. That should be checked
 645      * before calling this method.
 646      * This is used to make Windows {@literal L&F} JFileChooser act
 647      * like native dialogs.
 648      */
 649     public static boolean pointOutsidePrefSize(JTable table, int row, int column, Point p) {
 650         if(table.getClientProperty("Table.noOutsideChecking") == Boolean.TRUE) {
 651             return false;
 652         }
 653             
 654         
 655         if (table.convertColumnIndexToModel(column) != 0 || row == -1) {
 656             return true;
 657         }
 658         TableCellRenderer tcr = table.getCellRenderer(row, column);
 659         Object value = table.getValueAt(row, column);
 660         Component cell = tcr.getTableCellRendererComponent(table, value, false,
 661                 false, row, column);
 662         Dimension itemSize = cell.getPreferredSize();
 663         Rectangle cellBounds = table.getCellRect(row, column, false);
 664         cellBounds.width = itemSize.width;
 665         cellBounds.height = itemSize.height;
 666 
 667         // See if coords are inside
 668         // ASSUME: mouse x,y will never be < cell's x,y
 669         assert (p.x >= cellBounds.x && p.y >= cellBounds.y);
 670         return p.x > cellBounds.x + cellBounds.width ||
 671                 p.y > cellBounds.y + cellBounds.height;
 672     }
 673 
 674     /**


< prev index next >