Java Code Examples for javafx.scene.control.TableColumn#getWidth()

The following examples show how to use javafx.scene.control.TableColumn#getWidth() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JFXTable.java    From tuxguitar with GNU Lesser General Public License v2.1 6 votes vote down vote up
public void fillAvailableWidth() {
	List<TableColumn<UITableItem<T>, ?>> columns = this.getControl().getColumns();
	if(!columns.isEmpty()) {
		Insets padding = getControl().getPadding();
		
		double availableWidth = (this.getControl().getWidth() - (padding.getLeft() + padding.getRight() + VERTICAL_SCROLL_SIZE));
		for(TableColumn<UITableItem<T>, ?> column : columns) {
			availableWidth -= column.getWidth();
		}
		if( availableWidth > 0 ) {
			TableColumn<UITableItem<T>, ?> lastColumn = columns.get(columns.size() - 1);
			
			lastColumn.prefWidthProperty().set(lastColumn.getWidth() + availableWidth);
		}
	}
}
 
Example 2
Source File: RunPane.java    From constellation with Apache License 2.0 4 votes vote down vote up
public void handleAttributeMoved(double sceneX, double sceneY) {
    if (draggingAttributeNode != null) {
        final Point2D location = sceneToLocal(sceneX, sceneY);

        double x = location.getX() - draggingOffset.getX();
        if (x < 0) {
            x = 0;
        }
        if (x > RunPane.this.getWidth() - draggingAttributeNode.getWidth()) {
            x = RunPane.this.getWidth() - draggingAttributeNode.getWidth();
        }

        double y = location.getY() - draggingOffset.getY();
        if (y < 0) {
            y = 0;
        }
        if (y > RunPane.this.getHeight() - draggingAttributeNode.getHeight()) {
            y = RunPane.this.getHeight() - draggingAttributeNode.getHeight();
        }

        draggingAttributeNode.setLayoutX(x);
        draggingAttributeNode.setLayoutY(y);

        final Point2D tableLocation = sampleDataView.sceneToLocal(sceneX, sceneY);

        double offset = 0;
        Set<Node> nodes = sampleDataView.lookupAll(".scroll-bar");
        for (final Node node : nodes) {
            if (node instanceof ScrollBar) {
                final ScrollBar scrollBar = (ScrollBar) node;
                if (scrollBar.getOrientation() == Orientation.HORIZONTAL) {
                    offset = scrollBar.getValue();
                    break;
                }
            }
        }

        double totalWidth = 0;
        mouseOverColumn = null;

        final double cellPadding = 0.5; // ?
        if (tableLocation.getX() >= 0 && tableLocation.getX() <= sampleDataView.getWidth() && tableLocation.getY() >= 0 && tableLocation.getY() <= sampleDataView.getHeight()) {
            double columnLocation = tableLocation.getX() + offset;
            for (TableColumn<TableRow, ?> column : sampleDataView.getColumns()) {
                totalWidth += column.getWidth() + cellPadding;
                if (columnLocation < totalWidth) {
                    mouseOverColumn = (ImportTableColumn) column;
                    break;
                }
            }
        }

        if (mouseOverColumn != null) {
            // Allow for the SplitPane left side inset+padding (1+1 hard-coded).
            final double edge = 2;

            columnRectangle.setLayoutX(edge + sampleDataView.getLayoutX() + totalWidth - mouseOverColumn.getWidth() - offset);
            columnRectangle.setLayoutY(sampleDataView.getLayoutY());
            columnRectangle.setWidth(mouseOverColumn.getWidth());
            columnRectangle.setHeight(sampleDataView.getHeight());
            columnRectangle.setVisible(true);
        } else {
            columnRectangle.setVisible(false);
        }
    }
}
 
Example 3
Source File: TableItemTask.java    From megan-ce with GNU General Public License v3.0 4 votes vote down vote up
private ListChangeListener<IMatchBlock> createChangeListener(final TableItem tableItem, final LongProperty previousSelectionTime) {
    final ReadLayoutPane pane = tableItem.getPane();
    return c -> {
        if (c.next()) {

            if (!pane.getMatchSelection().isEmpty())
                tableView.getSelectionModel().select(tableItem);
        }
        if (System.currentTimeMillis() - 200 > previousSelectionTime.get()) { // only if sufficient time has passed since last scroll...
            try {
                final double focusCoordinate;
                int focusIndex = pane.getMatchSelection().getFocusIndex();
                if (focusIndex >= 0 && pane.getMatchSelection().getItems()[focusIndex] != null) {
                    final IMatchBlock focusMatch = pane.getMatchSelection().getItems()[focusIndex];
                    focusCoordinate = 0.5 * (focusMatch.getAlignedQueryStart() + focusMatch.getAlignedQueryEnd());
                    double leadingWidth = 0;
                    double lastWidth = 0;
                    double totalWidth = 0;
                    {
                        int numberOfColumns = tableView.getColumns().size();
                        int columns = 0;
                        for (TableColumn col : tableView.getColumns()) {
                            if (col.isVisible()) {
                                if (columns < numberOfColumns - 1)
                                    leadingWidth += col.getWidth();
                                else
                                    lastWidth = col.getWidth();
                                totalWidth += col.getWidth();
                            }
                            columns++;
                        }
                    }

                    final double coordinateToShow = leadingWidth + lastWidth * (focusCoordinate / maxReadLength.get());
                    final ScrollBar hScrollBar = FXUtilities.findScrollBar(tableView, Orientation.HORIZONTAL);

                    if (hScrollBar != null) { // should never be null, but best to check...
                        final double newPos = (hScrollBar.getMax() - hScrollBar.getMin()) * ((coordinateToShow) / totalWidth);

                        Platform.runLater(() -> {
                            tableView.scrollTo(tableItem);
                            hScrollBar.setValue(newPos);
                        });
                    }
                }
            } catch (Exception ignored) {
            }
        }
        previousSelectionTime.set(System.currentTimeMillis());
    };
}