From 6efcec2cbff384e1d23d0753e96cab3017366d7e Mon Sep 17 00:00:00 2001 From: fdzcxy212206238 <1579189568@qq.com> Date: Wed, 16 Oct 2024 10:16:07 +0800 Subject: [PATCH] ADD file via upload --- BaseConverterApp.java | 71 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 BaseConverterApp.java diff --git a/BaseConverterApp.java b/BaseConverterApp.java new file mode 100644 index 0000000..63db169 --- /dev/null +++ b/BaseConverterApp.java @@ -0,0 +1,71 @@ +import javafx.application.Application; +import javafx.geometry.Insets; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.control.TextField; +import javafx.scene.layout.GridPane; +import javafx.stage.Stage; + +public class BaseConverterApp extends Application { + + @Override + public void start(Stage primaryStage) { + GridPane grid = new GridPane(); + grid.setPadding(new Insets(10, 10, 10, 10)); + grid.setVgap(8); + grid.setHgap(10); + + // 输入原始数值 + Label lblNumber = new Label("数值:"); + TextField txtNumber = new TextField(); + grid.add(lblNumber, 0, 0); + grid.add(txtNumber, 1, 0); + + // 输入原始进制 + Label lblFromBase = new Label("原始进制:"); + TextField txtFromBase = new TextField(); + grid.add(lblFromBase, 0, 1); + grid.add(txtFromBase, 1, 1); + + // 输入目标进制 + Label lblToBase = new Label("目标进制:"); + TextField txtToBase = new TextField(); + grid.add(lblToBase, 0, 2); + grid.add(txtToBase, 1, 2); + + // 转换按钮 + Button btnConvert = new Button("转换"); + grid.add(btnConvert, 1, 3); + + // 显示结果 + Label lblResult = new Label("结果:"); + grid.add(lblResult, 1, 4); + + // 设置场景 + Scene scene = new Scene(grid, 300, 250); + primaryStage.setScene(scene); + primaryStage.setTitle("进制转换器"); + + // 添加按钮点击事件处理器 + btnConvert.setOnAction(event -> { + String number = txtNumber.getText(); + int fromBase = Integer.parseInt(txtFromBase.getText()); + int toBase = Integer.parseInt(txtToBase.getText()); + + try { + long decimal = Long.parseLong(number, fromBase); + String converted = Long.toString(decimal, toBase).toUpperCase(); + lblResult.setText("结果: " + converted); + } catch (NumberFormatException e) { + lblResult.setText("错误: 无效的输入或进制。"); + } + }); + + primaryStage.show(); + } + + public static void main(String[] args) { + launch(args); + } +}