fix bug: DrawingCanvas.prefWidth : A bound value cannot be set.
This commit is contained in:
Generated
+1
-1
@@ -8,7 +8,7 @@
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_25" default="true" project-jdk-name="openjdk-25" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_24" default="true" project-jdk-name="openjdk-25" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -133,9 +133,11 @@ public class Controller implements Initializable {
|
||||
drawingCanvas = new DrawingCanvas(pageContent);
|
||||
drawingCanvasContainer.getChildren().add(drawingCanvas);
|
||||
|
||||
// 绑定Canvas大小到容器
|
||||
drawingCanvas.prefWidthProperty().bind(drawingCanvasContainer.widthProperty());
|
||||
drawingCanvas.prefHeightProperty().bind(drawingCanvasContainer.heightProperty());
|
||||
// 使用AnchorPane的约束来填充容器
|
||||
AnchorPane.setTopAnchor(drawingCanvas, 0.0);
|
||||
AnchorPane.setLeftAnchor(drawingCanvas, 0.0);
|
||||
AnchorPane.setRightAnchor(drawingCanvas, 0.0);
|
||||
AnchorPane.setBottomAnchor(drawingCanvas, 0.0);
|
||||
|
||||
// 创建属性面板
|
||||
propertyPanelComponent = new PropertyPanel(drawingCanvas);
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package dev.bytevibe.hyperpoint;
|
||||
|
||||
import javafx.geometry.Bounds;
|
||||
import javafx.scene.canvas.Canvas;
|
||||
import javafx.scene.canvas.GraphicsContext;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.input.MouseButton;
|
||||
import javafx.scene.input.MouseEvent;
|
||||
import javafx.scene.layout.Pane;
|
||||
import javafx.scene.paint.Color;
|
||||
@@ -24,7 +22,7 @@ public class DrawingCanvas extends Pane {
|
||||
|
||||
public DrawingCanvas(PageContent pageContent) {
|
||||
this.pageContent = pageContent;
|
||||
this.canvas = new Canvas(755, 485);
|
||||
this.canvas = new Canvas();
|
||||
|
||||
getChildren().add(canvas);
|
||||
|
||||
@@ -33,9 +31,18 @@ public class DrawingCanvas extends Pane {
|
||||
setOnMouseDragged(this::handleMouseDragged);
|
||||
setOnMouseReleased(this::handleMouseReleased);
|
||||
|
||||
setPrefSize(755, 485);
|
||||
setStyle("-fx-border-color: #e0e0e0; -fx-border-width: 1;");
|
||||
|
||||
// 绑定Canvas大小到Pane大小
|
||||
widthProperty().addListener((obs, oldVal, newVal) -> {
|
||||
canvas.setWidth(newVal.doubleValue());
|
||||
redraw();
|
||||
});
|
||||
heightProperty().addListener((obs, oldVal, newVal) -> {
|
||||
canvas.setHeight(newVal.doubleValue());
|
||||
redraw();
|
||||
});
|
||||
|
||||
// 初始绘制
|
||||
redraw();
|
||||
}
|
||||
@@ -79,6 +86,8 @@ public class DrawingCanvas extends Pane {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 鼠标释放事件处理
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user