javafx.scene.text.Text#prefHeight ( )源码实例Demo

下面列出了javafx.scene.text.Text#prefHeight ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: chart-fx   文件: AbstractAxis.java
/**
 * Computes the preferred height of this axis for the given width. If axis orientation is horizontal, it takes into
 * account the tick mark length, tick label gap and label height.
 *
 * @return the computed preferred width for this axis
 */
@Override
protected double computePrefHeight(final double width) {
    final Side side = getSide();
    if ((side == null) || (side == Side.CENTER_HOR) || side.isVertical()) {
        // default axis size for uninitalised axis
        return 150;
    }

    if (getTickMarks().isEmpty()) {
        final AxisRange range = autoRange(width);
        computeTickMarks(range, true);
        invalidate();
    }

    // we need to first auto range as this may/will effect tick marks
    // final AxisRange range = autoRange(width);
    // calculate max tick label height
    // calculate the new tick mark label height
    final double maxLabelHeightLocal = isTickLabelsVisible() ? maxLabelHeight : 0.0;
    // if (isTickLabelsVisible()) {
    // // final List<TickMark> tempMajorTickMarks = computeTickMarks(range,
    // // true);
    // final List<TickMark> tempMajorTickMarks = this.getTickMarks();
    // maxLabelHeight = getMaxTickLabelHeight(tempMajorTickMarks) +
    // getTickLabelGap();
    // }

    // calculate tick mark length
    final double tickMarkLength = isTickMarkVisible() && (getTickLength() > 0) ? getTickLength() : 0;
    // calculate label height
    final Text axisLabel = getAxisLabel();
    final String axisLabelText = axisLabel.getText();
    final double labelHeight = (axisLabelText == null) || axisLabelText.isEmpty() ? 0 : axisLabel.prefHeight(-1) + (2 * getAxisLabelGap());
    final double shiftedLabels = ((getOverlapPolicy() == AxisLabelOverlapPolicy.SHIFT_ALT) && isLabelOverlapping())
                                                 || (getOverlapPolicy() == AxisLabelOverlapPolicy.FORCED_SHIFT_ALT)
                                         ? labelHeight
                                         : 0.0;
    return tickMarkLength + maxLabelHeightLocal + labelHeight + shiftedLabels;
}
 
源代码2 项目: chart-fx   文件: AbstractAxis.java
/**
 * Computes the preferred width of this axis for the given height. If axis orientation is vertical, it takes into
 * account the tick mark length, tick label gap and label height.
 *
 * @return the computed preferred width for this axis
 */
@Override
protected double computePrefWidth(final double height) {
    final Side side = getSide();
    if ((side == null) || (side == Side.CENTER_VER) || side.isHorizontal()) {
        // default axis size for uninitalised axis
        return 150;
    }

    if (getTickMarks().isEmpty()) {
        final AxisRange range = autoRange(height);
        computeTickMarks(range, true);
        invalidate();
    }

    // we need to first auto range as this may/will effect tick marks
    // final AxisRange range = autoRange(height);
    // calculate max tick label width
    final double maxLabelWidthLocal = isTickLabelsVisible() ? maxLabelWidth : 0.0;
    // calculate the new tick mark label width
    // if (isTickLabelsVisible()) {
    // // final List<TickMark> tempMajorTickMarks = computeTickMarks(range,
    // // true);
    // final List<TickMark> tempMajorTickMarks = this.getTickMarks();
    // maxLabelWidth = getMaxTickLabelWidth(tempMajorTickMarks) +
    // getTickLabelGap();
    // }
    // calculate tick mark length
    final double tickMarkLength = isTickMarkVisible() && (getTickLength() > 0) ? getTickLength() : 0;
    // calculate label height
    final Text axisLabel = getAxisLabel();
    final String axisLabelText = axisLabel.getText();
    final double labelHeight = (axisLabelText == null) || axisLabelText.isEmpty() ? 0 : axisLabel.prefHeight(-1) + (2 * getAxisLabelGap());

    final double shiftedLabels = ((getOverlapPolicy() == AxisLabelOverlapPolicy.SHIFT_ALT) && isLabelOverlapping())
                                                 || (getOverlapPolicy() == AxisLabelOverlapPolicy.FORCED_SHIFT_ALT)
                                         ? labelHeight
                                         : 0.0;
    return maxLabelWidthLocal + tickMarkLength + labelHeight + shiftedLabels;
}
 
源代码3 项目: NLIDB   文件: UserView.java
@Override
public void start(Stage primaryStage) throws Exception {
	
	stage = primaryStage;
	stage.setTitle("Window for NLIDB");
	
	Label label1 = new Label("Welcome to Natural Language Interface to DataBase!");
	
	Label lblInput = new Label("Natural Language Input:");
	TextArea fieldIn = new TextArea();
	fieldIn.setPrefHeight(100);
	fieldIn.setPrefWidth(100);
	fieldIn.setWrapText(true);
	fieldIn.setText(TEST_TEXT);
	
	btnTranslate = new Button("translate");
	
	// Define action of the translate button.
	btnTranslate.setOnAction(e -> {
		ctrl.processNaturalLanguage(fieldIn.getText());
	});
	
	display = new Text();
	display.setWrappingWidth(500);
	display.prefHeight(300);
	display.setText("Default display text");

	// choices and button for nodes mapping
	choiceBox = new ComboBox<NodeInfo>();
	choiceBox.setVisibleRowCount(6);
	btnConfirmChoice = new Button("confirm choice");
	btnConfirmChoice.setOnAction(e -> {
		ctrl.chooseNode(getChoice());
	});
	
	// choices and button for tree selection
	treeChoice = new ComboBox<Integer>(); // ! only show 3 choices now
	treeChoice.setItems(FXCollections.observableArrayList(0,1,2));
	treeChoice.getSelectionModel().selectedIndexProperty().addListener((ov, oldV, newV) -> {
		ctrl.showTree(treeChoice.getItems().get((Integer) newV));
	});
	btnTreeConfirm = new Button("confirm tree choice");
	btnTreeConfirm.setOnAction(e -> {
		ctrl.chooseTree(treeChoice.getValue());
	});
	
	vb1 = new VBox();
	vb1.setSpacing(10);
	vb1.getChildren().addAll(
			label1,
			lblInput,fieldIn,
			btnTranslate
			);
	
	vb2 = new VBox();
	vb2.setSpacing(20);
	vb2.getChildren().addAll(display);
	
	hb = new HBox();
	hb.setPadding(new Insets(15, 12, 15, 12));
	hb.setSpacing(10);
	hb.getChildren().addAll(vb1, vb2);
	
	scene = new Scene(hb, 800, 450);
	
	stage.setScene(scene);
	ctrl = new Controller(this);
	stage.show();
	
}