LoginScreen(Stage stage, Connection conApp)
Perhatikanlah bahwa login screen ini hanya melakukan koneksi ke database. BeLuM menampilkan layar untuk memasukkan data-data Member. Hal ini terlihat dari inner ButtonHandler yang merupakan penerapan dari EventHandler. Disebut penerapan karena EventHandler adalah interface.
Untuk melakukan menampilkan Layar MemberEntriScreen, kita akan mebuat program yang ditampilkan pada layar berikutnya.
class ButtonHandler implements EventHandler<ActionEvent>{
@Override
public void handle(ActionEvent t) {
if (t.getSource().equals(btnLogin)){
try {
conApp = DriverManager.getConnection(
"jdbc:derby://localhost:1527/Organization",
txfUser.getText(),
psfPassword.getText());
btnLogin.setText("Success");
} catch (SQLException ex) {
txfUser.setText("failed login");
}
}
else if(t.getSource().equals(btnCancel)){
}
}
}
Adapun kode program lengkapnya adalah sebagai berikut :
/**
*
* @author Joko Adianto
* Released under GPLv3;
*/
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.PasswordField;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class LoginScreen {
Group root;
Stage stage;
Scene scene;
Connection conApp;
Label lblUser;
TextField txfUser;
HBox hbxUser;
Label lblPassword;
PasswordField psfPassword;
HBox hbxPassword;
Button btnLogin;
Button btnCancel;
HBox hbxButton;
VBox vbxLogin;
ButtonHandler bh;
class ButtonHandler implements EventHandler<ActionEvent>{
@Override
public void handle(ActionEvent t) {
if (t.getSource().equals(btnLogin)){
try {
conApp = DriverManager.getConnection(
"jdbc:derby://localhost:1527/Organization",
txfUser.getText(),
psfPassword.getText());
btnLogin.setText("Success");
} catch (SQLException ex) {
txfUser.setText("failed login");
}
}
else if(t.getSource().equals(btnCancel)){
}
}
}
{
lblUser = new Label("User");
lblUser.setMinWidth(80);
txfUser = new TextField();
txfUser.setMinWidth(120);
hbxUser = new HBox();
hbxUser.getChildren().addAll(lblUser, txfUser);
lblPassword = new Label("Password");
lblPassword.setMinWidth(80);
psfPassword = new PasswordField();
psfPassword.setMinWidth(120);
hbxPassword = new HBox();
hbxPassword.getChildren().addAll(lblPassword, psfPassword);
btnLogin = new Button("Login");
btnLogin.setMinWidth(lblPassword.getMinWidth());
btnCancel = new Button("Cancel");
btnCancel.setMinWidth(lblPassword.getMinWidth());
hbxButton = new HBox(65);
hbxButton.getChildren().addAll(btnLogin, btnCancel);
vbxLogin = new VBox();
vbxLogin.getChildren().addAll(hbxUser, hbxPassword, hbxButton);
bh = new ButtonHandler();
btnLogin.setOnAction(bh);
btnCancel.setOnAction(bh);
}
LoginScreen(Stage stage, Connection conApp){
this.stage = stage;
this.conApp = conApp;
root = new Group();
root.getChildren().addAll(vbxLogin);
scene = new Scene(root, vbxLogin.getMinWidth(),
vbxLogin.getMinHeight(),
Color.AQUAMARINE);
this.stage.setScene(scene);
this.stage.setTitle("Login To Application");
this.stage.show();
}
}
No comments:
Post a Comment