0

我想在窗格中添加一行,但运行应用程序时未显示该行。在我的窗格中添加带有 ImageView 的标签正在工作,我可以看到我在 ImageView 上设置的图像。我尝试以几种方式显示一条线,使用画布,绘制一条线并将画布添加到窗格中,还构建一条线并将其直接添加到窗格中,但都没有工作。

Pane pane = new Pane();
//Image image = new Image("image.png");
//ImageView imageView = new ImageView();
//imageView.setImage(image);
//Label label = new Label();
//label.setGraphic(imageView);
//Canvas canvas = new Canvas(105, 105);
//canvas.relocate(296, 128);
//GraphicsContext gc = canvas.getGraphicsContext2D();
//gc.setStroke(Color.BLUE);
//gc.setLineWidth(5);
//gc.strokeLine(0, 0, canvas.getWidth(), canvas.getHeight());
Line redLine = LineBuilder.create()
                        .startX(296)
                        .startY(128)
                        .endX(401)
                        .endY(233)
                        .fill(Color.RED)
                        .strokeWidth(10.0f)
                        .build();
pane.getChildren().add(redLine);
//pane.getChildren().add(canvas);
//pane.getChildren().addAll(label, redLine);
4

1 回答 1

0

您发布的代码似乎可以正常工作 - 这是我得到的结果:

带线程序截图

这是我使用的代码:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Line;
import javafx.scene.shape.LineBuilder;
import javafx.stage.Stage;


public class FXLine extends Application {

    @Override
    public void start(Stage stage) throws Exception {

        Pane pane = new Pane();
        Line redLine = LineBuilder.create()
            .startX(296)
            .startY(128)
            .endX(401)
            .endY(233)
            .fill(Color.RED)
            .strokeWidth(10.0f)
            .build();
        pane.getChildren().add(redLine);
        stage.setScene(new Scene(pane, 425, 275));
        stage.show();
    }

    public static void main(String[] args){
        Application.launch(args);
    }
}
于 2013-07-16T19:27:28.573 回答