Comprobar primo con JavaFX
Ejemplo: Comprobar si un número es primo usando JavaFX
JavaFXPrimo.java
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
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.VBox;
import javafx.stage.Stage;
public class JavaFXPrimo extends Application {
@Override
public void start(Stage primaryStage) {
// Crear etiqueta para escribir lo qeu se pide al usuario
Label etiInfo = new Label();
etiInfo.setText("Introduzca un número entero:");
// Crear campo de texto donde se espera que se escriba el número
TextField textIn = new TextField();
// Crear etiqueta donde el programa escribirá el resultado
Label etiRespuesta = new Label();
// Crear botón de acptar
Button boton = new Button("Aceptar");
boton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
// Convertir el texto en Integer
// y comprobar si es primo
Integer number;
boolean esPrimo = true;
String message = " no es primo";
try {
number = Integer.parseInt(textIn.getText());
for (int i = 2; i <= Math.sqrt(number) && esPrimo; i ++) {
if ((number % i) == 0)
esPrimo = false;
}
if (esPrimo)
message = " es primo";
etiRespuesta.setText("El número " + number + message);
} catch (NumberFormatException excep) {
etiRespuesta.setText("¡No es un entero!");
}
}
});
// Crear un layout
VBox vBox = new VBox();
vBox.setPadding(new Insets(20));
vBox.setStyle("-fx-padding: 10;" +
"-fx-border-style: solid inside;" +
"-fx-border-width: 2;" +
"-fx-border-insets: 5;" +
"-fx-border-radius: 5;" +
"-fx-border-color: blue;");
// Añadir los controles al layout
vBox.getChildren().addAll(etiInfo, textIn, boton, etiRespuesta);
// Crear la escena
Scene scene = new Scene(vBox, 400, 200);
// Añadir estilos en fichero css
// scene.getStylesheets().add("estilos.css");
// Establecer el título del escenario
primaryStage.setTitle("Números Primos");
// Añadir la escena al escenario
primaryStage.setScene(scene);
// Mostrar el escenario
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
Añadir una variable de entorno a la carpeta lib:
export PATH_TO_FX=/home/nombreUsuario/javafx-sdk-14.0.1/lib
(cambiar nombreUsuario por el nombre que tenga el usuario en el equipo)
Compilar la aplicación usando:
javac --module-path $PATH_TO_FX --add-modules javafx.controls JavaFXPrimo.java
Ejecutar la aplicación usando:
java --module-path $PATH_TO_FX --add-modules javafx.controls JavaFXPrimo
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.