显示用户输入的字符。用户可以使用上、下、左、右箭头按键来将字符做相应移动。
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class ContralText extends Application {
int X=100;
int Y=300;
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Contral Text");
primaryStage.setResizable(false);
Group group = new Group();
Scene scene = new Scene(group, 600, 600, Color.WHITE);
Label lb = new Label();
lb.setLayoutX(X);
lb.setLayoutY(Y);
lb.setFont(new Font(28));
group.getChildren().add(lb);
scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
KeyCode keyIn = event.getCode();
String key = event.getText();
if ((key.compareTo("A") >= 0 && key.compareTo("Z") <= 0) || (key.compareTo("a") >= 0 && key.compareTo("z") <= 0)) {
lb.setText(lb.getText() + key);
}else if (keyIn == KeyCode.UP || keyIn == KeyCode.W) {
Y -= 5;
} else if (keyIn == KeyCode.DOWN || keyIn == KeyCode.S) {
Y += 5;
} else if (keyIn == KeyCode.LEFT || keyIn == KeyCode.A) {
X -= 5;
} else if (keyIn == KeyCode.RIGHT || keyIn == KeyCode.D) {
X += 5;
}
if (X > 500) X = 500;
if (X < 100) X = 100;
if (Y > 500) Y = 500;
if (Y < 100) Y = 100;
lb.setLayoutX(X);
lb.setLayoutY(Y);
}
});
primaryStage.setScene(scene);
primaryStage.show();
}
}