javax.swing.JTable#rowAtPoint ( )源码实例Demo

下面列出了javax.swing.JTable#rowAtPoint ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: marathonv5   文件: RTable.java
public RTable(Component source, JSONOMapConfig omapConfig, Point point, IJSONRecorder recorder) {
    super(source, omapConfig, point, recorder);
    JTable table = (JTable) source;
    if (table.isEditing()) {
        column = table.getEditingColumn();
        row = table.getEditingRow();
    } else {
        if (point != null) {
            row = table.rowAtPoint(point);
            column = table.columnAtPoint(point);
        } else {
            row = table.getSelectedRow();
            column = table.getSelectedColumn();
        }
    }
    if (row == -1 || column == -1) {
        row = column = -1;
    }
}
 
源代码2 项目: netbeans   文件: ComboBoxTableCellEditor.java
/**********************************************************************
    *  Is the cell editable? If the mouse was pressed at a margin
    *  we don't want the cell to be editable.
    *
    *  @param  evt  The event-object.
    *
    *  @interfaceMethod javax.swing.table.TableCellEditor
    *********************************************************************/

public boolean isCellEditable (EventObject evt)
{

       this.startEditingEvent = evt;
       if  (evt instanceof MouseEvent  &&  evt.getSource () instanceof JTable)
       {
           MouseEvent me = (MouseEvent) evt;
           JTable table = (JTable) me.getSource ();
           Point pt = new Point (me.getX (), me.getY ());
           int row = table.rowAtPoint (pt);
           int col = table.columnAtPoint (pt);
           Rectangle rec = table.getCellRect (row, col, false);
           if  (me.getY () >= rec.y + rec.height  ||  me.getX () >= rec.x + rec.width)
           {
               return false;
           }
       }

       return super.isCellEditable (evt);

}
 
源代码3 项目: netbeans   文件: TableRendererTest.java
@Override
public boolean isCellEditable(EventObject anEvent) {
    if (anEvent.getSource() instanceof JTable) {
        JTable table = (JTable) anEvent.getSource();
        if (anEvent instanceof MouseEvent) {
            MouseEvent event = (MouseEvent) anEvent;
            Point p = event.getPoint();
            int row = table.rowAtPoint(p);
            int col = table.columnAtPoint(p);
            Rectangle rect = table.getCellRect(row, col, true);
            p.translate(-rect.x, -rect.y);
            System.out.println("isCellEditable("+anEvent+")");
            System.out.println("Point "+p+"in rectangle "+rect);
            if (p.x > rect.width - 24) {
                // last 24 points not editable
                return false;
            }
        }
    }
    return true;
}
 
源代码4 项目: pcgen   文件: PurchaseInfoTab.java
private static List<EquipmentFacade> getMenuTargets(JTable table, MouseEvent e)
{
	int row = table.rowAtPoint(e.getPoint());
	if (!table.isRowSelected(row))
	{
		if ((row >= 0) && (table.getRowCount() > row))
		{
			table.setRowSelectionInterval(row, row);
		}
	}
	return Arrays.stream(table.getSelectedRows())
	             .mapToObj(selRow -> table.getModel().getValueAt(selRow, 0))
	             .filter(value -> value instanceof EquipmentFacade)
	             .map(value -> (EquipmentFacade) value)
	             .collect(Collectors.toList());
}
 
源代码5 项目: pcgen   文件: EquipInfoTab.java
private static List<EquipNode> getMenuTargets(JTable table, MouseEvent e)
{
	int row = table.rowAtPoint(e.getPoint());
	if (!table.isRowSelected(row))
	{
		if ((row >= 0) && (table.getRowCount() > row))
		{
			table.setRowSelectionInterval(row, row);
		}
	}
	return Arrays.stream(table.getSelectedRows())
	             .mapToObj(selRow -> table.getModel().getValueAt(selRow, 0))
	             .filter(value -> value instanceof EquipNode)
	             .map(value -> (EquipNode) value)
	             .collect(Collectors.toList());
}
 
源代码6 项目: binnavi   文件: CTracesNodeComponent.java
/**
 * Shows a popup menu for a given mouse event.
 *
 * @param event The event that triggered the popup menu.
 */
private void showPopupMenu(final MouseEvent event) {
  final JTable traceTable = m_tracesPanel.getTracesTable();
  final int mouseRow = traceTable.rowAtPoint(event.getPoint());
  if (mouseRow != -1) {
    final int[] rows = traceTable.getSelectedRows();
    if (Ints.asList(rows).indexOf(mouseRow) != -1) {
      traceTable.setRowSelectionInterval(mouseRow, mouseRow);
    }
  }

  // Make sure at least one row is selected
  final int minIndex =
      m_tracesPanel.getTracesTable().getSelectionModel().getMinSelectionIndex();
  if (minIndex != -1) {
    final JPopupMenu popupMenu =
        new CEventListTableMenu(
            (JFrame) SwingUtilities.getWindowAncestor(CTracesNodeComponent.this),
            m_tracesPanel.getTracesTable(), m_container.getTraceProvider());
    popupMenu.show(m_tracesPanel.getTracesTable(), event.getX(), event.getY());
  }
}
 
源代码7 项目: wandora   文件: AnySelectionTableUI.java
@Override
public void mousePressed(MouseEvent e) {
    super.mousePressed(e);
    
    if(!SwingUtilities.isLeftMouseButton(e)) {
        return;
    }

    JTable t = getTable();
    Point p = e.getPoint();
    int row = t.rowAtPoint(p);
    int column = t.columnAtPoint(p);
    int rowCount = t.getRowCount();
    int columnCount = t.getColumnCount();

    if(column < 0 || row < 0 || column >= columnCount || row >= rowCount ) {
        return;
    }

    TableCellEditor tce = t.getCellEditor();
    if((tce==null) || (tce.shouldSelectCell(e))) {
        t.requestFocus();
        updateTableSelectionModel(row, column, e.isControlDown(), e.isShiftDown(), false);
        t.repaint();
    }
}
 
源代码8 项目: pcgen   文件: EquipInfoTab.java
private static List<EquipNode> getMenuTargets(JTable table, MouseEvent e)
{
	int row = table.rowAtPoint(e.getPoint());
	if (!table.isRowSelected(row))
	{
		if ((row >= 0) && (table.getRowCount() > row))
		{
			table.setRowSelectionInterval(row, row);
		}
	}
	return Arrays.stream(table.getSelectedRows())
	             .mapToObj(selRow -> table.getModel().getValueAt(selRow, 0))
	             .filter(value -> value instanceof EquipNode)
	             .map(value -> (EquipNode) value)
	             .collect(Collectors.toList());
}
 
源代码9 项目: magarena   文件: DeckCellRenderer.java
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

    String deckName = (String) value;
    JLabel lbl = new JLabel(deckName);
    lbl.setOpaque(true);

    if (isSelected) {
        lbl.setForeground(table.getSelectionForeground());
        lbl.setBackground(table.getSelectionBackground());
    } else {
        lbl.setForeground(table.getForeground());
        lbl.setBackground(table.getBackground());
    }

    Point mp = MouseInfo.getPointerInfo().getLocation();
    SwingUtilities.convertPointFromScreen(mp, table);
    int mRow = table.rowAtPoint(mp);
    int mCol = table.columnAtPoint(mp);
    if (row == mRow && column == mCol) {
        lbl.setForeground(Color.blue);
        lbl.setFont(withUnderline);
    }

    return lbl;
}
 
源代码10 项目: aion-germany   文件: PacketTableMouseListener.java
public void showPopupMenu(MouseEvent e)
{
    JTable table = (JTable) e.getSource();
    int row = table.rowAtPoint(e.getPoint());
    //int col = table.columnAtPoint(e.getPoint());
    boolean val = !((PacketTableModel) table.getModel()).getIsMarked(row);
    ((PacketTableModel) table.getModel()).setIsMarked(row, val);
    table.repaint();
}
 
源代码11 项目: netbeans   文件: QueryBuilderResultTable.java
private void maybeShowPopup(MouseEvent e) {
    if (e.isPopupTrigger()) {
        JTable source = (JTable)(e.getSource());
        int row = source.rowAtPoint(e.getPoint());
        int column = source.columnAtPoint(e.getPoint());
        // Make sure the row where click occurred is selected.
        if (row != -1) {
            source.setRowSelectionInterval (row, row);
        }
        resultTablePopup.show(e.getComponent(), e.getX(), e.getY());
    }
}
 
public void dragOver(DropTargetDragEvent event) {
    int dropAction = event.getDropAction();
    if (canImport && actionSupported(dropAction)) {
        JTable table = (JTable) event.getDropTargetContext().getComponent();
        int row = table.rowAtPoint(event.getLocation());
        table.getSelectionModel().setSelectionInterval(row, row);
        event.acceptDrag(dropAction);
    } else {
        event.rejectDrag();
    }
}
 
源代码13 项目: NBANDROID-V2   文件: CreateAvdVisualPanel1.java
private void maybeShowPopup(MouseEvent e) {
    if (e.isPopupTrigger()) {
        Component comp = e.getComponent();
        if (comp instanceof JTable) {
            JTable table = (JTable) comp;
            int rowIndex = table.rowAtPoint(e.getPoint());
            table.setRowSelectionInterval(rowIndex, rowIndex);
            editMenu.setEnabled(selectedDevice != null && userDevices.contains(selectedDevice));
            deleteMenu.setEnabled(selectedDevice != null && userDevices.contains(selectedDevice));
        }
        popupMenu.show(comp, e.getX(), e.getY());
    }
}
 
private void jTable1MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MousePressed
    if (evt.getClickCount() == 2) {
        // Resolving which row has been double-clicked
        Point point = evt.getPoint();
        JTable table = (JTable) evt.getSource();
        int row = table.rowAtPoint(point);
        // Finding revision using information from the clicked row
        Object revisionNumber = table.getValueAt(row, REVISION_COLUMN);
        if (revisionNumber != null) {
            loadRevision(revisionNumber.toString());
        }
    }
}
 
源代码15 项目: FoxTelem   文件: HealthTab.java
@Override
public void mouseClicked(MouseEvent e) {
	int fromRow = NO_ROW_SELECTED;
	
	JTable table;
	
	// RT MAX MIN SWITCH
	if (healthTableToDisplay == DISPLAY_RT) {
		table = rtTable;
	} else if (healthTableToDisplay == DISPLAY_MAX) {
		table = maxTable;
	} else {
		table = minTable;
	}
	// row is the one we clicked on
	int row = table.rowAtPoint(e.getPoint());
       int col = table.columnAtPoint(e.getPoint());
       
       if (e.isShiftDown()) {
       	// from row is the first in the selection.  It equals row if we clicked above the current selected row
		fromRow = table.getSelectedRow();
		int n = table.getSelectedRowCount();
		if (row == fromRow)
			fromRow = fromRow + n-1;
	}
	
       if (row >= 0 && col >= 0) {
       	//Log.println("CLICKED ROW: "+row+ " and COL: " + col);
       	displayRow(table, fromRow, row);
       }
}
 
源代码16 项目: FoxTelem   文件: ExperimentTab.java
public void mouseClicked(MouseEvent e) {

		int fromRow = NO_ROW_SELECTED;
		JTable table = null;
		
		if (showRawBytes.isSelected()) {
			table = this.table;
		} else {
			table = packetTable;
		}
		
		int row = table.rowAtPoint(e.getPoint());
		int col = table.columnAtPoint(e.getPoint());
		
		if (e.isShiftDown()) {
        	// from row is the first in the selection.  It equals row if we clicked above the current selected row
			fromRow = table.getSelectedRow();
			int n = table.getSelectedRowCount();
			if (row == fromRow)
				fromRow = fromRow + n-1;
		}
		if (row >= 0 && col >= 0) {
        	//Log.println("CLICKED ROW: "+row+ " and COL: " + col);
        	displayRow(table, fromRow, row);
        }
		
	}
 
源代码17 项目: Astrosoft   文件: UIUtil.java
/** Event source cell of JTable based on mouse position * */
public static Cell getSourceTableCell(MouseEvent e) {

	JTable table = (JTable) e.getSource();
	AstrosoftTableModel model = (AstrosoftTableModel) table.getModel();

	int row = table.rowAtPoint(e.getPoint());
	int col = table.convertColumnIndexToModel(table.columnAtPoint(e
			.getPoint()));

	return new Cell(row, model.getColumn(col));
}
 
@Override
public boolean importData(JComponent c, Transferable transferable) {
    if (!canImport(c, transferable.getTransferDataFlavors())) {
        return false;
    }

    try {
        if (getDragComponent() != c) {
            List list = (List) transferable.getTransferData(dataFlavor);
            JTable table = (JTable) c;
            DesignerTablePanel.MyTableModel model = ((DesignerTablePanel.MyTableModel) table.getModel());
            int insertRow;
            if (getDropPoint() != null) {
                insertRow = table.rowAtPoint(getDropPoint());
            } else {
                insertRow = table.getSelectedRow();
            }

            for (int i = 0; i < list.size(); i++) {
                model.insertRow(insertRow + i, (Vector) list.get(i));
            }

            table.getSelectionModel().clearSelection();
            table.getSelectionModel().setSelectionInterval(insertRow, insertRow + list.size() - 1);
            table.requestFocus();
        }
        return true;
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
 
源代码19 项目: jeveassets   文件: MenuManager.java
private void selectClickedCell(final MouseEvent e) {
	Object source = e.getSource();
	if (source instanceof JTable) {
		JTable jSelectTable = (JTable) source;

		Point point = e.getPoint();
		if (!jSelectTable.getVisibleRect().contains(point)) { //Ignore clickes outside table
			return;
		}

		int clickedRow = jSelectTable.rowAtPoint(point);
		int clickedColumn = jSelectTable.columnAtPoint(point);

		//Rows
		boolean clickInRowsSelection;
		if (jSelectTable.getRowSelectionAllowed()) { //clicked in selected rows?
			clickInRowsSelection = false;
			int[] selectedRows = jSelectTable.getSelectedRows();
			for (int i = 0; i < selectedRows.length; i++) {
				if (selectedRows[i] == clickedRow) {
					clickInRowsSelection = true;
					break;
				}
			}
		} else { //Row selection not allowed - all rows selected
			clickInRowsSelection = true;
		}

		//Column
		boolean clickInColumnsSelection;
		if (jSelectTable.getColumnSelectionAllowed()) { //clicked in selected columns?
			clickInColumnsSelection = false;
			int[] selectedColumns = jSelectTable.getSelectedColumns();
			for (int i = 0; i < selectedColumns.length; i++) {
				if (selectedColumns[i] == clickedColumn) {
					clickInColumnsSelection = true;
					break;
				}
			}
		} else { //Column selection not allowed - all columns selected
			clickInColumnsSelection = true;
		}

		//Clicked outside selection, select clicked cell
		if ( (!clickInRowsSelection || !clickInColumnsSelection) && clickedRow >= 0 && clickedColumn >= 0) {
			jSelectTable.setRowSelectionInterval(clickedRow, clickedRow);
			jSelectTable.setColumnSelectionInterval(clickedColumn, clickedColumn);
		}
	}
}
 
源代码20 项目: CodenameOne   文件: TableHelper.java
public static int getFirstVisibleRow(JTable p_Table) {
    Point p = p_Table.getVisibleRect().getLocation();
    return p_Table.rowAtPoint(p);
  } 
 方法所在类
 同类方法