/*
este es un ejemplo funcional de la creación de un módulo de ingreso
creado en JavaFX, creditos a
http://www.javacodegeeks.com/2012/06/in-this-tutorial-i-will-design-nice.html
y
@web http://zoranpavlovic.blogspot.com/
*/
package ingresousuario;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.Event;
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.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.Reflection;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
/**
*
* @author edwarv
*/
public class IngresoUsuario extends Application {
String user = "administrador";
String pw = "qwerty";
String checkUser, checkPw;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Ingreso de Usuario");
BorderPane bp = new BorderPane();
bp.setPadding(new Insets(10,50,50,50));
HBox hb = new HBox();
hb.setPadding(new Insets(20,20,20,30));
GridPane gridPane = new GridPane();
gridPane.setPadding(new Insets(20,20,20,20));
gridPane.setHgap(5);
gridPane.setVgap(5);
Label lblUserName = new Label("Nombre de Usuario");
final TextField txtUserName = new TextField();
Label lblPassword = new Label("Contraseña");
final PasswordField pf = new PasswordField();
Button btnLogin = new Button("Ingreso de Usuario");
final Label lblMessage = new Label();
gridPane.add(lblUserName, 0,0);
gridPane.add(txtUserName, 1,0);
gridPane.add(lblPassword, 0,1);
gridPane.add(pf, 1,1);
gridPane.add(btnLogin, 2,1);
gridPane.add(lblMessage, 1,2);
Reflection r = new Reflection();
r.setFraction(0.7f);
gridPane.setEffect(r);
DropShadow dropShadow = new DropShadow();
dropShadow.setOffsetX(5);
dropShadow.setOffsetY(5);
Text text = new Text("Ingreso de Usuarios");
text.setFont(Font.font("Courier New", FontWeight.BOLD, 32));
hb.getChildren().add(text);
bp.setId("bp");
gridPane.setId("root");
btnLogin.setId("btnLogin");
text.setId("text");
btnLogin.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
checkUser = txtUserName.getText().toString();
checkPw = pf.getText().toString();
if(checkUser.equals(user) && checkPw.equals(pw)){
lblMessage.setText("Bienvenido al Sistema");
lblMessage.setTextFill(Color.GREEN);
}//cierre del if
else{
lblMessage.setText("Nombre de Usuario y/o Contraseña Incorrectos");
lblMessage.setTextFill(Color.RED);
}//cierre del else
txtUserName.setText("");
pf.setText("");
}
/*@Override
public void handle(Event event) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}*/
});
bp.setTop(hb);
bp.setCenter(gridPane);
Scene scene = new Scene(bp);
scene.getStylesheets().add(getClass().getClassLoader().getResource("ingresousuario/login.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.titleProperty().bind(
scene.widthProperty().asString().concat(" : ").concat(scene.heightProperty().asString()));
primaryStage.show();
}//cierre del metodo start
}//cierre de la clase
los estilos
#root{
-fx-background-color: linear-gradient(lightgray, gray);
-fx-border-color: white;
-fx-border-radius: 20;
-fx-padding: 10 10 10 10;
-fx-background-radius: 20;
}
#bp{
-fx-background-color: linear-gradient(gray,DimGrey);
}
#btnLogin{
-fx-background-radius: 30, 30, 29, 28;
-fx-padding: 3px 10px 3px 10px;
-fx-background-color: linear-gradient(orange, orangered);
}
#text{
-fx-fill: linear-gradient(orange, orangered);
}
Comentarios sobre la versión: version 1.0 (1)