List of usage examples for javax.swing JTable addMouseMotionListener
public synchronized void addMouseMotionListener(MouseMotionListener l)
From source file:org.openconcerto.erp.core.finance.accounting.ui.PlanComptableGPanel.java
public JTable creerJTable(ClasseCompte ccTmp) { // NO_UCD final PlanComptableGModel model; if (this.radioCompteDeveloppe.isSelected()) { model = new PlanComptableGModel(ccTmp, 3); } else if (this.radioCompteAbrege.isSelected()) { model = new PlanComptableGModel(ccTmp, 2); } else {//from w w w . j av a2s. c om model = new PlanComptableGModel(ccTmp, 1); } final JTable table = new JTable(model) { public JToolTip createToolTip() { JMultiLineToolTip t = new JMultiLineToolTip(); t.setFixedWidth(500); return t; } }; table.getColumnModel().getColumn(0).setCellRenderer(new PlanComptableCellRenderer(0)); table.getColumnModel().getColumn(1).setCellRenderer(new PlanComptableCellRenderer(0)); // TODO calcul de la taille de la colone numero de compte table.getColumnModel().getColumn(0).setMaxWidth(90); table.getTableHeader().setReorderingAllowed(false); table.addMouseMotionListener(new MouseMotionAdapter() { int lastRow = -1; public void mouseMoved(final MouseEvent e) { final Point p = new Point(e.getX(), e.getY()); SwingUtilities.invokeLater(new Runnable() { public void run() { final int row = table.rowAtPoint(p); if (lastRow != row) { lastRow = row; String strTmp = ((Compte) (model.getComptes().get(lastRow))).getInfos(); if (strTmp.length() != 0) { table.setToolTipText(strTmp); } else { table.setToolTipText(null); } } } }); } }); if (this.actionClickDroit != null) { // System.out.println("Ajout menu droit"); table.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON3) { actionDroitTable(e, table); } } }); } // Enable row selection (default) /** * table.setColumnSelectionAllowed(false); table.setRowSelectionAllowed(true); * * table.setSelectionMode(table.getSelectionModel().MULTIPLE_INTERVAL_SELECTION); */ table.getSelectionModel().addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { int selectedRow = table.getSelectedRow(); if (selectedRow < 0) { // Pas de selection textInfos.setText("Pas de compte slctionn"); } else { textInfos.setText(((Compte) (model.getComptes().get(selectedRow))).getInfos()); } } }); return table; }
From source file:org.revager.tools.GUITools.java
/** * Creates a new standard table./*from w ww .j a va2 s .c o m*/ * * @param model * the table model * @param showHeader * true if the header of the table should be visible * * @return the newly created table */ @SuppressWarnings("serial") public static JTable newStandardTable(TableModel model, boolean showHeader) { /* * Prep. for rollover */ if (lastRolloverKey == Integer.MAX_VALUE) { lastRolloverKey = 0; } else { lastRolloverKey++; } final int keyIdx = lastRolloverKey; rollOverRowIndex.put(keyIdx, -1); final JTable table = new JTable(model) { @Override public boolean editCellAt(int row, int column, java.util.EventObject e) { boolean result = super.editCellAt(row, column, e); final Component editor = getEditorComponent(); TableCellRenderer renderer = this.getColumnModel().getColumn(column).getCellRenderer(); Font cellFont = null; if (renderer instanceof DefaultTableCellRenderer) { cellFont = ((DefaultTableCellRenderer) renderer).getFont(); } if (editor != null && editor instanceof JTextComponent) { JTextComponent jTextComponent = (JTextComponent) editor; if (e == null) { jTextComponent.selectAll(); } else { SwingUtilities.invokeLater(jTextComponent::selectAll); } jTextComponent.setBorder(UI.MARKED_BORDER_INLINE); if (cellFont != null) { jTextComponent.setFont(cellFont); } editor.requestFocusInWindow(); } return result; } @Override public TableCellRenderer getCellRenderer(int row, int column) { TableCellRenderer renderer = super.getCellRenderer(row, column); if (renderer instanceof DefaultTableCellRenderer) { ((DefaultTableCellRenderer) renderer).setBorder(new EmptyBorder(3, 3, 3, 3)); } return renderer; } @Override public Component prepareRenderer(TableCellRenderer renderer, int row, int col) { Component comp = super.prepareRenderer(renderer, row, col); // Rollover comp.setBackground(getBackground()); comp = super.prepareRenderer(renderer, row, col); if (!isRowSelected(row) && row == rollOverRowIndex.get(keyIdx)) { comp.setForeground(getForeground()); comp.setBackground(UI.BLUE_BACKGROUND_COLOR); } // Tooltips JComponent jcomp = (JComponent) comp; if (renderer instanceof DefaultTableCellRenderer) { String toolTip = ((DefaultTableCellRenderer) renderer).getToolTipText(); if (!StringUtils.isEmpty(toolTip)) { jcomp.setToolTipText(toolTip); } } return comp; } }; // Table properties table.setRowHeight(UI.TABLE_ROW_HEIGHT); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); table.setShowGrid(false); table.setShowHorizontalLines(true); table.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); // Rollover MouseInputAdapter rolloverListener = new MouseInputAdapter() { @Override public void mouseExited(MouseEvent e) { rollOverRowIndex.put(keyIdx, -1); table.repaint(); } @Override public void mouseMoved(MouseEvent e) { int row = table.rowAtPoint(e.getPoint()); if (row != rollOverRowIndex.get(keyIdx)) { rollOverRowIndex.put(keyIdx, row); table.repaint(); } } }; table.addMouseMotionListener(rolloverListener); table.addMouseListener(rolloverListener); // Header if (!showHeader) { table.setTableHeader(null); } return table; }