编写ー个 Javafx程序,显示两个按钮和一个数字(最初为50)。按钮上的文本分别为increment(增加)和Decrement(减少)。每当按下 Increment按钮时,所显示的数增加1;按下 Decrement按钮时,所显示的数减少1。
目录结构
实现代码
package tech.zger.www;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.image.Image;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.stage.Stage;
/**
* @author zg
* @create 2021/11/14 21:58
*/
public class MainApplication extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
// 标题
primaryStage.setTitle("增加-减少");
// 图标
primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/tech/zger/www/logo/zg.jpg")));
// 窗口不可调节
primaryStage.setResizable(false);
// 文本域
TextArea textArea = new TextArea();
// 数字最初为50
textArea.setText("50");
// 文本域不可编辑
textArea.setEditable(false);
// 定义文本域的尺寸
textArea.setPrefSize(596, 256);
// 起始横坐标
textArea.setLayoutX(2);
// 起始纵坐标
textArea.setLayoutY(2);
// 设置字体样式
textArea.setFont(new Font("JetBrains Mono Regular",18));
Button incBtn = new Button("Increment");
incBtn.setLayoutX(100);
incBtn.setLayoutY(300);
incBtn.setFont(new Font("JetBrains Mono Regular",18));
incBtn.setTextFill(Color.WHITE);
incBtn.setStyle("-fx-background-color: blue");
Button decBtn = new Button("Decrement");
decBtn.setLayoutX(400);
decBtn.setLayoutY(300);
decBtn.setFont(new Font("JetBrains Mono Regular",18));
decBtn.setTextFill(Color.WHITE);
decBtn.setStyle("-fx-background-color: blue");
Group group = new Group(textArea, incBtn, decBtn);
Scene scene = new Scene(group, 600, 400);
primaryStage.setScene(scene);
primaryStage.show();
// 点击increment,数字加1
incBtn.setOnAction(event -> {
String text = textArea.getText();
int num = Integer.parseInt(text);
if (num >= 0) {
num++;
textArea.setText("" + num);
}
});
// 点击decrement,数字减1
decBtn.setOnAction(event -> {
String text = textArea.getText();
int num = Integer.parseInt(text);
// 当数字不为0时,才减1
if (num > 0) {
num--;
textArea.setText("" + num);
}
});
}
}
效果展示