package fx;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class Exercise16_04 extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
final double KM = 1.602307322544464;
TextField mile = new TextField(); //英里
TextField kilometer = new TextField(); //公里
mile.setAlignment(Pos.BOTTOM_RIGHT); //文本域设置对齐
kilometer.setAlignment(Pos.BOTTOM_RIGHT);
mile.setOnAction(event -> { //文本域注册动作事件
try {
double m = Double.parseDouble(mile.getText()); //获取文本并转为数值
if (m >= 0) //如果数值大于等于0,公里设置文本
kilometer.setText(String.valueOf(m * KM));
} catch (Exception ex) { //处理数字字符串转换异常
}
});
kilometer.setOnAction(event -> {
try {
double km = Double.parseDouble(kilometer.getText());
if (km >= 0)
mile.setText(String.valueOf(km / KM));
} catch (Exception ex) {
}
});
GridPane pane = new GridPane();
pane.addRow(0, new Label("Mile"), mile);
pane.addRow(1, new Label("Kilometer"), kilometer);
pane.setStyle("-fx-hgap: 5px; -fx-padding: 5px;");
Scene scene = new Scene(pane);
primaryStage.setScene(scene);
primaryStage.setTitle("Exercise16_04");
primaryStage.show();
}
}
JavaFX、创建一个英里/公里的转换器
最新推荐文章于 2024-04-19 16:54:44 发布