You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.8 KiB
52 lines
1.8 KiB
2 months ago
|
import javafx.application.Application;
|
||
|
import javafx.scene.Scene;
|
||
|
import javafx.scene.control.*;
|
||
|
import javafx.scene.layout.VBox;
|
||
|
import javafx.stage.Stage;
|
||
|
|
||
|
public class text1 extends Application {
|
||
|
|
||
|
@Override
|
||
|
public void start(Stage primaryStage) {
|
||
|
// 创建文本输入框
|
||
|
TextField inputField = new TextField();
|
||
|
inputField.setPromptText("输入一个十进制数");
|
||
|
|
||
|
// 创建标签显示结果
|
||
|
Label binaryLabel = new Label();
|
||
|
Label octalLabel = new Label();
|
||
|
Label hexLabel = new Label();
|
||
|
|
||
|
// 创建按钮
|
||
|
Button convertButton = new Button("转换");
|
||
|
convertButton.setOnAction(e -> {
|
||
|
try {
|
||
|
int number = Integer.parseInt(inputField.getText());
|
||
|
binaryLabel.setText(String.format("二进制: %s", Integer.toBinaryString(number).toUpperCase()));
|
||
|
octalLabel.setText(String.format("八进制: %s", Integer.toOctalString(number)));
|
||
|
hexLabel.setText(String.format("十六进制: %s", Integer.toHexString(number).toUpperCase()));
|
||
|
} catch (NumberFormatException ex) {
|
||
|
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||
|
alert.setTitle("输入错误");
|
||
|
alert.setHeaderText("无效输入");
|
||
|
alert.setContentText("请输入一个有效的十进制数。");
|
||
|
alert.showAndWait();
|
||
|
}
|
||
|
});
|
||
|
|
||
|
// 创建布局
|
||
|
VBox vBox = new VBox(10);
|
||
|
vBox.getChildren().addAll(inputField, convertButton, binaryLabel, octalLabel, hexLabel);
|
||
|
|
||
|
// 设置场景
|
||
|
Scene scene = new Scene(vBox, 300, 200);
|
||
|
|
||
|
primaryStage.setTitle("进制转换器");
|
||
|
primaryStage.setScene(scene);
|
||
|
primaryStage.show();
|
||
|
}
|
||
|
|
||
|
public static void main(String[] args) {
|
||
|
launch(args);
|
||
|
}
|
||
|
}
|