hi,
was mache ich falsch? der text erscheint bei tastendruck, verschwindet aber nicht. hab mit System.out.println geprüft, er kommt an die stelle mit dem remove. das element ist aus der liste der children verschwunden (hab ich mit size geprüft), bleibt aber auf dem bildschirm.
bin für jede hilfe dankbar.
javampir
was mache ich falsch? der text erscheint bei tastendruck, verschwindet aber nicht. hab mit System.out.println geprüft, er kommt an die stelle mit dem remove. das element ist aus der liste der children verschwunden (hab ich mit size geprüft), bleibt aber auf dem bildschirm.
Java:
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setScene(new Game(new Group(), 500, 500));
primaryStage.show();
}
class Game extends Scene {
private final Group root, textgroup;
private final Text t;
private boolean left = false;
public Game(Group r, double width, double height) {
super(r, width, height);
root = r;
root.getChildren().add(new Rectangle(getWidth(), getHeight(), Color.WHITE));
textgroup = new Group();
t = new Text("Left pressed");
t.setX(30);
t.setY(100);
root.getChildren().add(textgroup);
setOnKeyPressed((KeyEvent e) -> {
if(e.getCode() == KeyCode.LEFT) {
if(!left) {
left = true;
textgroup.getChildren().add(t);
}
}
});
setOnKeyReleased((KeyEvent e) -> {
if(e.getCode() == KeyCode.LEFT) {
if(left) {
left = false;
textgroup.getChildren().remove(t);
}
}
});
}
}
}
bin für jede hilfe dankbar.
javampir