第一次提交

main
叶锋 2 months ago
parent 9d42d6d3c3
commit c4fa481144

@ -0,0 +1,86 @@
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class test1 extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("进制转换器");
// 创建布局
GridPane grid = new GridPane();
grid.setPadding(new Insets(10));
grid.setVgap(8);
grid.setHgap(10);
// 输入框
Label inputLabel = new Label("输入数值:");
GridPane.setConstraints(inputLabel, 0, 0);
TextField inputField = new TextField();
GridPane.setConstraints(inputField, 1, 0);
// 源进制选择
Label fromBaseLabel = new Label("源进制:");
GridPane.setConstraints(fromBaseLabel, 0, 1);
ComboBox<Integer> fromBaseCombo = new ComboBox<>();
fromBaseCombo.getItems().addAll(2, 10, 16);
fromBaseCombo.setValue(10); // 默认选择十进制
GridPane.setConstraints(fromBaseCombo, 1, 1);
// 目标进制选择
Label toBaseLabel = new Label("目标进制:");
GridPane.setConstraints(toBaseLabel, 0, 2);
ComboBox<Integer> toBaseCombo = new ComboBox<>();
toBaseCombo.getItems().addAll(2, 10, 16);
toBaseCombo.setValue(10); // 默认选择十进制
GridPane.setConstraints(toBaseCombo, 1, 2);
// 转换按钮
Button convertButton = new Button("转换");
GridPane.setConstraints(convertButton, 1, 3);
// 输出框
Label resultLabel = new Label("结果:");
GridPane.setConstraints(resultLabel, 0, 4);
TextField resultField = new TextField();
resultField.setEditable(false);
GridPane.setConstraints(resultField, 1, 4);
// 处理转换逻辑
convertButton.setOnAction(e -> {
String input = inputField.getText();
int fromBase = fromBaseCombo.getValue();
int toBase = toBaseCombo.getValue();
String result = convertBase(input, fromBase, toBase);
resultField.setText(result);
});
// 添加所有控件到布局
grid.getChildren().addAll(inputLabel, inputField, fromBaseLabel, fromBaseCombo,
toBaseLabel, toBaseCombo, convertButton, resultLabel, resultField);
// 创建场景并显示
Scene scene = new Scene(grid, 400, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
private String convertBase(String value, int fromBase, int toBase) {
try {
// 将输入值从源进制转换为十进制
int decimalValue = Integer.parseInt(value, fromBase);
// 将十进制转换为目标进制
return Integer.toString(decimalValue, toBase).toUpperCase();
} catch (NumberFormatException e) {
return "输入无效";
}
}
public static void main(String[] args) {
launch(args);
}
}
Loading…
Cancel
Save