From e18b535071d2cfcf0eaff87dedb8dcbd4e355dfd Mon Sep 17 00:00:00 2001 From: extio-de Date: Sat, 3 Jan 2026 14:24:28 +0100 Subject: [PATCH] fix(renderer): refactor scrollbar area update logic in G2DTextfieldControlImpl2 --- .../g2d/control/impl/G2DTextfieldControlImpl2.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/extio/game_engine/renderer/g2d/control/impl/G2DTextfieldControlImpl2.java b/src/main/java/de/extio/game_engine/renderer/g2d/control/impl/G2DTextfieldControlImpl2.java index a88e0d0..93c67d3 100644 --- a/src/main/java/de/extio/game_engine/renderer/g2d/control/impl/G2DTextfieldControlImpl2.java +++ b/src/main/java/de/extio/game_engine/renderer/g2d/control/impl/G2DTextfieldControlImpl2.java @@ -196,6 +196,7 @@ public class G2DTextfieldControlImpl2 extends G2DBaseControlImpl implements Text } else if (this.positionModified) { this.safeInvoke(() -> this.textComponent.setLocation(this.x, this.y)); + this.updateScrollBarArea(); this.positionModified = false; } @@ -254,10 +255,7 @@ public class G2DTextfieldControlImpl2 extends G2DBaseControlImpl implements Text this.safeInvoke(() -> ((CustomJTextArea) this.textComponent).setLineWrap(true)); this.safeInvoke(() -> ((CustomJTextArea) this.textComponent).setWrapStyleWord(true)); - this.scrollbar.setX(this.x + this.width - 30); - this.scrollbar.setY(this.y); - this.scrollbar.setWidth(30); - this.scrollbar.setHeight(this.height); + this.updateScrollBarArea(); this.scrollbar.setScaleFactor(this.scaleFactor); this.scrollbar.setEnabled(this.enabled); this.scrollbar.setVisible(this.visible); @@ -317,6 +315,13 @@ public class G2DTextfieldControlImpl2 extends G2DBaseControlImpl implements Text this.modified = true; } } + + private void updateScrollBarArea() { + this.scrollbar.setX(this.x + this.width - 30); + this.scrollbar.setY(this.y); + this.scrollbar.setWidth(30); + this.scrollbar.setHeight(this.height); + } private void onScroll(final double value) { this.scrollPositionPerc = 1.0 - value;