Skip to content

Commit 4c51709

Browse files
committed
Update PrefSize correctly for Canvas container (closes #4)
1 parent 4044d6d commit 4c51709

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

src/main/java/com.babai.maptracker/MapTrackerUIFX.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import javafx.geometry.Pos;
4646
import javafx.geometry.Rectangle2D;
4747
import javafx.scene.Cursor;
48+
import javafx.scene.Group;
4849
import javafx.scene.ImageCursor;
4950
import javafx.scene.Scene;
5051
import javafx.scene.canvas.Canvas;
@@ -66,6 +67,7 @@
6667
import javafx.scene.layout.ColumnConstraints;
6768
import javafx.scene.layout.FlowPane;
6869
import javafx.scene.layout.GridPane;
70+
import javafx.scene.layout.Pane;
6971
import javafx.scene.layout.Priority;
7072
import javafx.scene.layout.RowConstraints;
7173
import javafx.scene.layout.VBox;
@@ -109,19 +111,21 @@ public void start(Stage stage) throws Exception {
109111

110112
// Main Contents: the background image
111113
Canvas img = new Canvas(screenBounds.getWidth(), screenBounds.getHeight());
114+
Pane p = new Pane(new Group(img));
112115
DoubleProperty scaleFactor = new SimpleDoubleProperty(1.0);
116+
ScrollPane scrImg = new ScrollPane(p);
113117

114118
scaleFactor.addListener(e -> updateView(img, scaleFactor.get()));
115119
img.setOnMouseClicked(e -> {
120+
double sf = scaleFactor.get();
116121
addMarker((int) e.getX(), (int) e.getY(), currentMarker);
117-
updateView(img, scaleFactor.get());
122+
updateView(img, sf);
123+
p.setPrefWidth(origBg.getWidth() * sf);
124+
p.setPrefHeight(origBg.getHeight() * sf);
118125
});
119126
img.setOnMouseEntered(e -> updateCursor(currentMarker));
120127
img.setOnMouseExited(e -> updateCursor(Cursor.DEFAULT));
121128

122-
ScrollPane scrImg = new ScrollPane();
123-
scrImg.setContent(img);
124-
125129
// Bottom Pane
126130
GridPane pnlForm = new GridPane();
127131
pnlForm.setHgap(10);

0 commit comments

Comments
 (0)