kexiaonan 10 months ago
parent 1819462a36
commit 47f26e0216

@ -0,0 +1,54 @@
package java6239.uml;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
public class DecimalController {
@FXML
private TextField inputField;
@FXML
private ComboBox<String> inputBaseComboBox; // 修改为inputBaseComboBox
@FXML
private ComboBox<String> outputBaseComboBox; // 添加输出进制下拉框
@FXML
private Label resultLabel;
// 选择输入进制的方法
@FXML
private void selectBase(ActionEvent event) {
// 该方法不再需要
}
// 转换方法
@FXML
private void convert() {
String input = inputField.getText();
String selectedInputBase = inputBaseComboBox.getValue(); // 获取输入进制
String selectedOutputBase = outputBaseComboBox.getValue(); // 获取输出进制
// 检查输入进制和输出进制是否已选择
if (selectedInputBase == null || selectedOutputBase == null) {
resultLabel.setText("请先选择输入和输出的进制!");
return;
}
int inputBase = Integer.parseInt(selectedInputBase); // 解析输入进制
int outputBase = Integer.parseInt(selectedOutputBase); // 解析输出进制
try {
// 将输入的数字转换为十进制
int decimalValue = Integer.parseInt(input, inputBase);
// 将十进制转换为目标进制
String result = Integer.toString(decimalValue, outputBase);
resultLabel.setText("转换结果: " + result);
} catch (NumberFormatException e) {
resultLabel.setText("输入的数字不符合选定的输入进制!");
} catch (Exception e) {
resultLabel.setText("转换过程中出现错误,请检查输入!");
}
}
}

@ -0,0 +1,30 @@
package java6239.uml;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class DecimalConversion extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// 加载 FXML 文件
Parent root = FXMLLoader.load(getClass().getResource("DecimalConversion.fxml"));
// 设置场景
Scene scene = new Scene(root,400,400);
// 设置窗口标题
primaryStage.setTitle("进制转换器");
// 设置场景并显示窗口
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Loading…
Cancel
Save