public void keyPressed(KeyEvent e) { long rows = matrixGUIObject.getRowCount64(); long cols = matrixGUIObject.getColumnCount64(); long minRow = matrixGUIObject.getRowSelectionModel().getMinSelectionIndex64(); long maxRow = matrixGUIObject.getRowSelectionModel().getMaxSelectionIndex64(); long minCol = matrixGUIObject.getColumnSelectionModel().getMinSelectionIndex64(); long maxCol = matrixGUIObject.getColumnSelectionModel().getMaxSelectionIndex64(); if ((e.getKeyCode() == KeyEvent.VK_A) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) { matrixGUIObject.getColumnSelectionModel().setSelectionInterval(0, cols - 1); matrixGUIObject.getRowSelectionModel().setSelectionInterval(0, rows - 1); } else if (e.getKeyCode() == KeyEvent.VK_UP && minRow > 0) { matrixGUIObject.getRowSelectionModel().setSelectionInterval(minRow - 1, maxRow - 1); } else if (e.getKeyCode() == KeyEvent.VK_DOWN && maxRow < rows - 1) { matrixGUIObject.getRowSelectionModel().setSelectionInterval(minRow + 1, maxRow + 1); } else if (e.getKeyCode() == KeyEvent.VK_LEFT && minCol > 0) { matrixGUIObject.getColumnSelectionModel().setSelectionInterval(minCol - 1, maxCol - 1); } else if (e.getKeyCode() == KeyEvent.VK_RIGHT && maxCol < cols - 1) { matrixGUIObject.getColumnSelectionModel().setSelectionInterval(minCol + 1, maxCol + 1); } }
protected void paintComponent(Graphics g) { if (bufferedImage == null) { super.paintComponent(g); } else { if (isPreloaderVisible) { remove(preloader); isPreloaderVisible = false; } Graphics2D g2d = (Graphics2D) g; g2d.drawImage(bufferedImage, 0, 0, getWidth(), getHeight(), null); if (!matrixGUIObject.getRowSelectionModel().isSelectionEmpty()) { int paddingX = UIManager.getInt("Table.paddingX"); int paddingY = UIManager.getInt("Table.paddingY"); g2d.setColor(Color.BLUE); g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 0.3f)); long x1 = matrixGUIObject.getColumnSelectionModel().getMinSelectionIndex64(); long x2 = matrixGUIObject.getColumnSelectionModel().getMaxSelectionIndex64(); long y1 = matrixGUIObject.getRowSelectionModel().getMinSelectionIndex64(); long y2 = matrixGUIObject.getRowSelectionModel().getMaxSelectionIndex64(); double scaleX = (double) (getWidth() - paddingX - paddingX) / (double) matrixGUIObject.getColumnCount(); double scaleY = (double) (getHeight() - paddingY - paddingY) / (double) matrixGUIObject.getRowCount(); g2d.setStroke(new BasicStroke(2.0f)); g2d.drawRect((int) Math.floor(paddingX + x1 * scaleX), (int) Math.floor(paddingY + y1 * scaleY), (int) Math.ceil(scaleX + (x2 - x1) * scaleX), (int) Math.ceil(scaleY + (y2 - y1) * scaleY)); g2d.fillRect((int) Math.floor(paddingX + x1 * scaleX), (int) Math.floor(paddingY + y1 * scaleY), (int) Math.ceil(scaleX + (x2 - x1) * scaleX), (int) Math.ceil(scaleY + (y2 - y1) * scaleY)); } } }
public void run() { StringBuilder s = new StringBuilder(); if (guiObject instanceof MatrixGUIObject) { MatrixGUIObject matrix = ((MatrixGUIObject) guiObject); long[] c = matrix.getMouseOverCoordinates(); s.append("Position: "); s.append(Coordinates.toString(c)); if (!matrix.getRowSelectionModel().isSelectionEmpty() || !matrix.getColumnSelectionModel().isSelectionEmpty()) { long y0 = matrix.getRowSelectionModel().getMinSelectionIndex64(); long y1 = matrix.getRowSelectionModel().getMaxSelectionIndex64(); long x0 = matrix.getColumnSelectionModel().getMinSelectionIndex64(); long x1 = matrix.getColumnSelectionModel().getMaxSelectionIndex64(); long xSize = 1 + Math.abs(x1 - x0); long ySize = 1 + Math.abs(y1 - y0); s.append(" Selection: [" + y0 + "," + x0 + "] - [" + y1 + "," + x1 + "] = "); s.append("[" + ySize + "x" + xSize + "]"); } setStatusString(s.toString()); } statusBar.setProgress(TaskQueue.getProgress()); } }
public void graphClicked(N v, MouseEvent me) { long index = graphMatrix.getIndexOfNode(v); matrixGUIObject.getRowSelectionModel().setSelectionInterval(index, index); matrixGUIObject.getColumnSelectionModel().setSelectionInterval(index, index); }
public void graphPressed(N v, MouseEvent me) { long index = graphMatrix.getIndexOfNode(v); matrixGUIObject.getRowSelectionModel().setSelectionInterval(index, index); matrixGUIObject.getColumnSelectionModel().setSelectionInterval(index, index); }
public void graphClicked(N v, MouseEvent me) { long index = graphMatrix.getIndexOfNode(v); matrixGUIObject.getRowSelectionModel().setSelectionInterval(index, index); matrixGUIObject.getColumnSelectionModel().setSelectionInterval(index, index); }
public void graphPressed(N v, MouseEvent me) { long index = graphMatrix.getIndexOfNode(v); matrixGUIObject.getRowSelectionModel().setSelectionInterval(index, index); matrixGUIObject.getColumnSelectionModel().setSelectionInterval(index, index); }
public void mouseReleased(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON1) { long newRow = getRowPos(e.getY()); long newCol = getColPos(e.getX()); newRow = newRow < 0 ? 0 : newRow; newCol = newCol < 0 ? 0 : newCol; newRow = newRow >= matrixGUIObject.getRowCount() ? matrixGUIObject.getRowCount() - 1 : newRow; newCol = newCol >= matrixGUIObject.getColumnCount() ? matrixGUIObject.getColumnCount() - 1 : newCol; matrixGUIObject.getRowSelectionModel().setValueIsAdjusting(false); matrixGUIObject.getColumnSelectionModel().setValueIsAdjusting(false); matrixGUIObject.getRowSelectionModel().setSelectionInterval(startRow, newRow); matrixGUIObject.getColumnSelectionModel().setSelectionInterval(startCol, newCol); repaint(100); } }
public MatrixStatisticsBar(MatrixGUIObject m) { this.matrixGUIObject = m; m.addTableModelListener(this); m.getRowSelectionModel().addListSelectionListener(this); m.getColumnSelectionModel().addListSelectionListener(this); update(); }
public void mousePressed(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON1) { requestFocus(); startRow = getRowPos(e.getY()); startCol = getColPos(e.getX()); startRow = startRow < 0 ? 0 : startRow; startCol = startCol < 0 ? 0 : startCol; startRow = startRow >= matrixGUIObject.getRowCount() ? matrixGUIObject.getRowCount() - 1 : startRow; startCol = startCol >= matrixGUIObject.getColumnCount() ? matrixGUIObject.getColumnCount() - 1 : startCol; matrixGUIObject.getRowSelectionModel().setValueIsAdjusting(true); matrixGUIObject.getColumnSelectionModel().setValueIsAdjusting(true); matrixGUIObject.getRowSelectionModel().setSelectionInterval(startRow, startRow); matrixGUIObject.getColumnSelectionModel().setSelectionInterval(startCol, startCol); } repaint(100); }
public MatrixPopupMenu(JComponent c, MatrixGUIObject matrix, long row, long column) { JLabel label = new JLabel(); label.setForeground(new Color(0, 0, 255)); List<JComponent> actions = null; if (matrix.getRowSelectionModel().isSelectedIndex((int) row) && matrix.getColumnSelectionModel().isSelectedIndex((int) column)) { int startX = matrix.getColumnSelectionModel().getMinSelectionIndex(); int endX = matrix.getColumnSelectionModel().getMaxSelectionIndex(); int startY = matrix.getRowSelectionModel().getMinSelectionIndex(); int endY = matrix.getRowSelectionModel().getMaxSelectionIndex(); Matrix subMatrix = matrix.getMatrix().subMatrix(Ret.LINK, startY, startX, endY, endX); actions = new MatrixActions(c, (MatrixGUIObject) subMatrix.getGUIObject(), null); label.setText(" Selection " + Coordinates.toString(subMatrix.getSize()).replaceAll(",", "x")); } else { actions = new MatrixActions(c, matrix, null); label.setText(" Matrix " + Coordinates.toString("[", "x", "]", matrix.getMatrix().getSize()) + "]"); } add(label); add(new JSeparator()); for (JComponent jc : actions) { add(jc); } } }
public MatrixHeatmapPanel(MatrixGUIObject matrixGUIObject, boolean showBorder) { this.matrixGUIObject = matrixGUIObject; if (matrixGUIObject == null) { throw new IllegalArgumentException("matrixGUIObject is null"); } if (showBorder) { setBorder(BorderFactory.createTitledBorder("Matrix Heatmap")); } setPreferredSize(new Dimension(600, 400)); setLayout(new BorderLayout()); add(preloader, BorderLayout.CENTER); addComponentListener(this); addMouseListener(this); addMouseMotionListener(this); addKeyListener(this); matrixGUIObject.addTableModelListener(this); matrixGUIObject.getRowSelectionModel().addListSelectionListener(this); matrixGUIObject.getColumnSelectionModel().addListSelectionListener(this); ToolTipManager.sharedInstance().registerComponent(this); registerKeyboardActions(); }
public MatrixGUIObject getMatrixObject() { MatrixGUIObject m = (MatrixGUIObject) getGUIObject(); if (m != null) { int startRow = m.getRowSelectionModel().getMinSelectionIndex(); int endRow = m.getRowSelectionModel().getMaxSelectionIndex(); int startColumn = m.getColumnSelectionModel().getMinSelectionIndex(); int endColumn = m.getColumnSelectionModel().getMaxSelectionIndex(); if (startRow != -1 && startColumn != -1) { m = (MatrixGUIObject) m.getMatrix().subMatrix(Ret.LINK, startRow, startColumn, endRow, endColumn) .getGUIObject(); } return m; } else { // int min = variable.getRowSelectionModel().getMinSelectionIndex(); // int max = variable.getRowSelectionModel().getMaxSelectionIndex(); // Matrix all = new MatrixListToMatrixWrapper(variable); // // if (min >= 0 && max >= 0) { // Matrix selection = all.subMatrix(Ret.LINK, min, 0, max, // all.getColumnCount() - 1); // return (MatrixGUIObject) selection.getGUIObject(); // } else { // return (MatrixGUIObject) all.getGUIObject(); // } } return null; }
public void mouseDragged(MouseEvent e) { if (matrixGUIObject.getRowSelectionModel().getValueIsAdjusting()) { long newRow = getRowPos(e.getY()); long newCol = getColPos(e.getX()); newRow = newRow < 0 ? 0 : newRow; newCol = newCol < 0 ? 0 : newCol; newRow = newRow >= matrixGUIObject.getRowCount() ? matrixGUIObject.getRowCount() - 1 : newRow; newCol = newCol >= matrixGUIObject.getColumnCount() ? matrixGUIObject.getColumnCount() - 1 : newCol; matrixGUIObject.getRowSelectionModel().setSelectionInterval(startRow, newRow); matrixGUIObject.getColumnSelectionModel().setSelectionInterval(startCol, newCol); repaint(100); } }
public MatrixTable64(MatrixGUIObject matrix) { super(matrix, new DefaultTableColumnModel64(matrix), matrix.getRowSelectionModel()); getColumnModel().setSelectionModel(matrix.getColumnSelectionModel()); getTableHeader().setReorderingAllowed(false); setColumnSelectionAllowed(true); setDefaultRenderer(Object.class, new MatrixValueTableCellRenderer()); setDefaultEditor(Object.class, new MatrixTableCellEditor()); }
dataModel.addTableModelListener(this); dataModel.getRowSelectionModel().addListSelectionListener(this); dataModel.getColumnSelectionModel().addListSelectionListener(this);