@Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { // //System.out.println(table.getModel().getClass().getSimpleName()); Object tmp = table.getModel().getValueAt(row, 0); // //System.out.println(Visualizer.findNode(tmp).getClass().getSimpleName()); LabelSniffer ls = Visualizer.findNode(tmp).getLookup().lookup(LabelSniffer.class); try { if (ls != null) { // //System.out.println(actualCols[(column-1) * 2]); LabelProvider label; if ((label = ls.findLabelProvider(actualCols[(column - 1) * 2])) != null) { JLabel lab = label.getLabel(); lab.setOpaque(isSelected); if (isSelected) { lab.setBackground(table.getSelectionBackground()); } return label.getLabel(); } } } catch (Exception ex) { ex.printStackTrace(); } return new JLabel("tmp"); // //System.out.println("bez labela dla "+actualCols[(column-1) * 2]); // Component comp = rend.getTableCellRendererComponent(table, value, isSelected, // hasFocus, row, column); // return comp; }
@Override public void mouseClicked(MouseEvent e) { int row = outline.rowAtPoint(e.getPoint()); int col = outline.columnAtPoint(e.getPoint()); if (prevCol == col && prevRow == row && System.currentTimeMillis() - time < 500) { Node node = Visualizer.findNode(outline.getValueAt(row, 0)); time = 0; node.getPreferredAction().actionPerformed(null); } else { time = System.currentTimeMillis(); } prevRow = row; prevCol = col; }