Noah | Nowipi
Noah | Nowipi
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
ty this helped a lot!
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
but this is a way cleaner solution
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
I still think I encountered a JavaFX bug though
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
Now I treat them as things that display an image and it works
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
I treated ImageView's like they were images and that's not what they are for
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
public class SelectorView extends ImageView {

private final Image image;
private final SpriteAnimation animation;

public SelectorView() {
this(new SelectorPresenter());
}

private SelectorView(SelectorPresenter presenter) {
image = new Image(ResourceManager.getResource(presenter.getImagePath()));
animation = new SpriteAnimation(
this,
Duration.millis(1000),
presenter.getFrameCount(),
presenter.getColumnCount(),
presenter.getOffsetX(),
presenter.getOffsetY(),
presenter.getSpriteWidth(),
presenter.getSpriteHeight()
);
animation.setCycleCount(Animation.INDEFINITE);
}

public void select() {
setImage(image);
animation.play();
}

public void deselect() {
animation.stop();
setImage(null);
}
}
public class SelectorView extends ImageView {

private final Image image;
private final SpriteAnimation animation;

public SelectorView() {
this(new SelectorPresenter());
}

private SelectorView(SelectorPresenter presenter) {
image = new Image(ResourceManager.getResource(presenter.getImagePath()));
animation = new SpriteAnimation(
this,
Duration.millis(1000),
presenter.getFrameCount(),
presenter.getColumnCount(),
presenter.getOffsetX(),
presenter.getOffsetY(),
presenter.getSpriteWidth(),
presenter.getSpriteHeight()
);
animation.setCycleCount(Animation.INDEFINITE);
}

public void select() {
setImage(image);
animation.play();
}

public void deselect() {
animation.stop();
setImage(null);
}
}
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
public class GemView extends StackPane {


private final SpriteAnimation selectAnimation;
private final ImageView gem;
private final SelectorView selector;

public GemView(GemPresenter presenter) {
gem = new ImageView(new Image(ResourceManager.getResource(presenter.getImagePath())));
selector = new SelectorView();
getChildren().add(gem);
getChildren().add(selector);

selectAnimation = new SpriteAnimation(
gem,
Duration.millis(1000),
presenter.getFrameCount(),
presenter.getColumnCount(),
presenter.getOffsetX(),
presenter.getOffsetY(),
presenter.getSpriteWidth(),
presenter.getSpriteHeight()
);
selectAnimation.setCycleCount(Animation.INDEFINITE);
}

public void select() {
selectAnimation.play();
selector.select();
}

public void deselect() {
selectAnimation.stop();
selectAnimation.interpolate(0);
selector.deselect();
}
}
public class GemView extends StackPane {


private final SpriteAnimation selectAnimation;
private final ImageView gem;
private final SelectorView selector;

public GemView(GemPresenter presenter) {
gem = new ImageView(new Image(ResourceManager.getResource(presenter.getImagePath())));
selector = new SelectorView();
getChildren().add(gem);
getChildren().add(selector);

selectAnimation = new SpriteAnimation(
gem,
Duration.millis(1000),
presenter.getFrameCount(),
presenter.getColumnCount(),
presenter.getOffsetX(),
presenter.getOffsetY(),
presenter.getSpriteWidth(),
presenter.getSpriteHeight()
);
selectAnimation.setCycleCount(Animation.INDEFINITE);
}

public void select() {
selectAnimation.play();
selector.select();
}

public void deselect() {
selectAnimation.stop();
selectAnimation.interpolate(0);
selector.deselect();
}
}
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
fixed it
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
public class BoardView extends GridPane {

private final BoardPresenter presenter;
private final GemView[][] gems;

public BoardView() {
presenter = new BoardPresenter(this);

presenter.selectionProperty().addListener((_, oldValue, newValue) -> {
if (oldValue != null) {
GemView view = getGem(oldValue.x(), oldValue.y());
view.deselect();
}

if (newValue != null) {
GemView view = getGem(newValue.x(), newValue.y());
view.select();
}
});

gems = presenter.getGems();

for (int y = 0; y < gems.length; y++) {
for (int x = 0; x < gems[y].length; x++) {
GemView view = getGem(x, y);

final int gemX = x;
final int gemY = y;
view.addEventHandler(MouseEvent.MOUSE_CLICKED, _ -> presenter.click(gemX, gemY));

add(view, x, y);
}
}
}

public GemView getGem(int x, int y) {
return gems[y][x];
}
}
public class BoardView extends GridPane {

private final BoardPresenter presenter;
private final GemView[][] gems;

public BoardView() {
presenter = new BoardPresenter(this);

presenter.selectionProperty().addListener((_, oldValue, newValue) -> {
if (oldValue != null) {
GemView view = getGem(oldValue.x(), oldValue.y());
view.deselect();
}

if (newValue != null) {
GemView view = getGem(newValue.x(), newValue.y());
view.select();
}
});

gems = presenter.getGems();

for (int y = 0; y < gems.length; y++) {
for (int x = 0; x < gems[y].length; x++) {
GemView view = getGem(x, y);

final int gemX = x;
final int gemY = y;
view.addEventHandler(MouseEvent.MOUSE_CLICKED, _ -> presenter.click(gemX, gemY));

add(view, x, y);
}
}
}

public GemView getGem(int x, int y) {
return gems[y][x];
}
}
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
I can try
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
behind
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
soryy
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
oh no
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
below
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
than it updates correctly
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
The grid is filled with imageviews
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
the grid isn't redrawing because I have another image under it
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
but I think it's a JavaFX bug
81 replies
JCHJava Community | Help. Code. Learn.
Created by Noah | Nowipi on 12/28/2024 in #java-help
JavaFX UI won't update
it's definitely the remove call
81 replies