... private JTable table; private int row; private int size; private Rectangle r; private Point p; ... MouseAdapter ma = new MouseAdapter() { @Override public void mousePressed(MouseEvent evt) { row = table.rowAtPoint(evt.getPoint()); r = table.getCellRect(row, 0, true); p = evt.getPoint(); size = table.getRowHeight(row); } @Override public void mouseDragged(MouseEvent evt) { if (table.getCursor().getType() == Cursor.S_RESIZE_CURSOR) { int newSize = size + (evt.getY() - p.y); if (newSize < 1) { newSize = 1; } table.setRowHeight(row, newSize); } } @Override public void mouseMoved(MouseEvent evt) { row = table.rowAtPoint(evt.getPoint()); r = table.getCellRect(row, 0, true); table.setCursor(Cursor.getDefaultCursor()); if (evt.getY() > r.y + r.height - 6) { table.setCursor(Cursor.getPredefinedCursor(Cursor.S_RESIZE_CURSOR)); } } }; table.addMouseListener(ma); table.addMouseMotionListener(ma); ...
|