diff --git a/src/main/java/id/amigogroup/posterminal/FormFactory.java b/src/main/java/id/amigogroup/posterminal/FormFactory.java index ce9a9e2..7442ecd 100644 --- a/src/main/java/id/amigogroup/posterminal/FormFactory.java +++ b/src/main/java/id/amigogroup/posterminal/FormFactory.java @@ -1,7 +1,6 @@ package id.amigogroup.posterminal; import id.amigogroup.posterminal.bayar.FormBayarController; -import id.amigogroup.posterminal.transaksi.FormTransaksiTunaiController; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; diff --git a/src/main/java/id/amigogroup/posterminal/bayar/FormBayarController.java b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarController.java index 717a6db..7025ddc 100644 --- a/src/main/java/id/amigogroup/posterminal/bayar/FormBayarController.java +++ b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarController.java @@ -5,15 +5,18 @@ */ package id.amigogroup.posterminal.bayar; -import id.amigogroup.posterminal.util.Fucout; +import java.io.IOException; import java.net.URL; import java.util.ResourceBundle; +import java.util.logging.Level; +import java.util.logging.Logger; +import javafx.event.ActionEvent; import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; -import javafx.scene.control.TextField; -import javafx.scene.input.KeyCode; -import javafx.scene.input.KeyEvent; -import javafx.scene.robot.Robot; +import javafx.scene.Node; +import javafx.scene.control.CheckBox; +import javafx.scene.layout.VBox; /** * FXML Controller class @@ -23,41 +26,105 @@ import javafx.scene.robot.Robot; public class FormBayarController implements Initializable { @FXML - private TextField fldNoKartu1; - @FXML - private TextField fldNoKartu2; - @FXML - private TextField fldNoKartu3; - @FXML - private TextField fldNoKartu4; + private VBox vbContent; + + private final String BAYAR_TUNAI = "Tunai"; + private final String BAYAR_KARTU = "Debit/Kredit"; + private final String BAYAR_RETUR = "Voucher Retur"; + private final String BAYAR_GOPAY = "GoPay"; + private final String BAYAR_OVO = "OVO"; + private final String BAYAR_POIN = "Poin"; + + public class BayarContent { + + Node nodeTunai; + Node nodeKartu; + Node nodeRetur; + Node nodeGopay; + Node nodeOvo; + Node nodePoin; + } + + private BayarContent kumpulanContent = new BayarContent(); /** * Initializes the controller class. */ @Override public void initialize(URL url, ResourceBundle rb) { - initComponents(); - } - - private void initComponents() { - Fucout.forceFieldInteger(fldNoKartu1, 4); - Fucout.forceFieldInteger(fldNoKartu2, 4); - Fucout.forceFieldInteger(fldNoKartu3, 4); - Fucout.forceFieldInteger(fldNoKartu4, 4); + // TODO } @FXML - public void fldNomorKartuOnKeyTyped(KeyEvent event) { - if (event.getSource() != null - && event.getSource() instanceof TextField) { - TextField field = (TextField) event.getSource(); - - if (field.getText().length() >= 4) { - if (event.getCharacter().matches("[0-9]")) { - Robot robot = new Robot(); - robot.keyType(KeyCode.TAB); - } + void chkPilihanOnAction(ActionEvent event) { + CheckBox chkSource = (CheckBox) event.getSource(); + FXMLLoader loader = new FXMLLoader(); + Node node = null; + try { + switch (chkSource.getText()) { + case BAYAR_TUNAI: + if (kumpulanContent.nodeTunai == null && chkSource.selectedProperty().get()) { + loader.setLocation(getClass().getResource("/fxml/FormBayarTunai.fxml")); + node = loader.load(); + + vbContent.getChildren().add(node); + kumpulanContent.nodeTunai = node; + } else { + if (kumpulanContent.nodeTunai != null) { + vbContent.getChildren().remove(kumpulanContent.nodeTunai); + kumpulanContent.nodeTunai = null; + } + } + break; + case BAYAR_KARTU: + if (kumpulanContent.nodeKartu == null && chkSource.selectedProperty().get()) { + loader.setLocation(getClass().getResource("/fxml/FormBayarKartu.fxml")); + node = loader.load(); + + vbContent.getChildren().add(node); + kumpulanContent.nodeKartu = node; + } else { + if (kumpulanContent.nodeKartu != null) { + vbContent.getChildren().remove(kumpulanContent.nodeKartu); + kumpulanContent.nodeKartu = null; + } + } + break; + case BAYAR_RETUR: + if (kumpulanContent.nodeRetur == null && chkSource.selectedProperty().get()) { + loader.setLocation(getClass().getResource("/fxml/FormBayarRetur.fxml")); + node = loader.load(); + + vbContent.getChildren().add(node); + kumpulanContent.nodeRetur = node; + } else { + if (kumpulanContent.nodeRetur != null) { + vbContent.getChildren().remove(kumpulanContent.nodeRetur); + kumpulanContent.nodeRetur = null; + } + } + break; + case BAYAR_GOPAY: + break; + case BAYAR_OVO: + break; + case BAYAR_POIN: + if (kumpulanContent.nodePoin == null && chkSource.selectedProperty().get()) { + loader.setLocation(getClass().getResource("/fxml/FormBayarPoin.fxml")); + node = loader.load(); + + vbContent.getChildren().add(node); + kumpulanContent.nodePoin = node; + } else { + if (kumpulanContent.nodePoin != null) { + vbContent.getChildren().remove(kumpulanContent.nodePoin); + kumpulanContent.nodePoin = null; + } + } + break; } + } catch (IOException ex) { + Logger.getLogger(FormBayarController.class.getName()).log(Level.SEVERE, null, ex); } } } diff --git a/src/main/java/id/amigogroup/posterminal/bayar/FormBayarKartuController.java b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarKartuController.java new file mode 100644 index 0000000..2557ca4 --- /dev/null +++ b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarKartuController.java @@ -0,0 +1,63 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package id.amigogroup.posterminal.bayar; + +import id.amigogroup.posterminal.util.Fucout; +import java.net.URL; +import java.util.ResourceBundle; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.control.TextField; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; +import javafx.scene.robot.Robot; + +/** + * FXML Controller class + * + * @author ronal + */ +public class FormBayarKartuController implements Initializable { + + @FXML + private TextField fldNoKartu1; + @FXML + private TextField fldNoKartu2; + @FXML + private TextField fldNoKartu3; + @FXML + private TextField fldNoKartu4; + + /** + * Initializes the controller class. + */ + @Override + public void initialize(URL url, ResourceBundle rb) { + initComponents(); + } + + private void initComponents() { + Fucout.forceFieldInteger(fldNoKartu1, 4); + Fucout.forceFieldInteger(fldNoKartu2, 4); + Fucout.forceFieldInteger(fldNoKartu3, 4); + Fucout.forceFieldInteger(fldNoKartu4, 4); + } + + @FXML + public void fldNomorKartuOnKeyTyped(KeyEvent event) { + if (event.getSource() != null + && event.getSource() instanceof TextField) { + TextField field = (TextField) event.getSource(); + + if (field.getText().length() >= 4) { + if (event.getCharacter().matches("[0-9]")) { + Robot robot = new Robot(); + robot.keyType(KeyCode.TAB); + } + } + } + } +} diff --git a/src/main/java/id/amigogroup/posterminal/bayar/FormBayarOldController.java b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarOldController.java new file mode 100644 index 0000000..be78368 --- /dev/null +++ b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarOldController.java @@ -0,0 +1,63 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package id.amigogroup.posterminal.bayar; + +import id.amigogroup.posterminal.util.Fucout; +import java.net.URL; +import java.util.ResourceBundle; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.control.TextField; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; +import javafx.scene.robot.Robot; + +/** + * FXML Controller class + * + * @author ronal + */ +public class FormBayarOldController implements Initializable { + + @FXML + private TextField fldNoKartu1; + @FXML + private TextField fldNoKartu2; + @FXML + private TextField fldNoKartu3; + @FXML + private TextField fldNoKartu4; + + /** + * Initializes the controller class. + */ + @Override + public void initialize(URL url, ResourceBundle rb) { + initComponents(); + } + + private void initComponents() { + Fucout.forceFieldInteger(fldNoKartu1, 4); + Fucout.forceFieldInteger(fldNoKartu2, 4); + Fucout.forceFieldInteger(fldNoKartu3, 4); + Fucout.forceFieldInteger(fldNoKartu4, 4); + } + + @FXML + public void fldNomorKartuOnKeyTyped(KeyEvent event) { + if (event.getSource() != null + && event.getSource() instanceof TextField) { + TextField field = (TextField) event.getSource(); + + if (field.getText().length() >= 4) { + if (event.getCharacter().matches("[0-9]")) { + Robot robot = new Robot(); + robot.keyType(KeyCode.TAB); + } + } + } + } +} diff --git a/src/main/java/id/amigogroup/posterminal/bayar/FormBayarPoinController.java b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarPoinController.java new file mode 100644 index 0000000..1319e79 --- /dev/null +++ b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarPoinController.java @@ -0,0 +1,27 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package id.amigogroup.posterminal.bayar; + +import java.net.URL; +import java.util.ResourceBundle; +import javafx.fxml.Initializable; + +/** + * FXML Controller class + * + * @author ronal + */ +public class FormBayarPoinController implements Initializable { + + /** + * Initializes the controller class. + */ + @Override + public void initialize(URL url, ResourceBundle rb) { + // TODO + } + +} diff --git a/src/main/java/id/amigogroup/posterminal/bayar/FormBayarReturController.java b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarReturController.java new file mode 100644 index 0000000..7bdcd63 --- /dev/null +++ b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarReturController.java @@ -0,0 +1,27 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package id.amigogroup.posterminal.bayar; + +import java.net.URL; +import java.util.ResourceBundle; +import javafx.fxml.Initializable; + +/** + * FXML Controller class + * + * @author ronal + */ +public class FormBayarReturController implements Initializable { + + /** + * Initializes the controller class. + */ + @Override + public void initialize(URL url, ResourceBundle rb) { + // TODO + } + +} diff --git a/src/main/java/id/amigogroup/posterminal/bayar/FormBayarTunaiController.java b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarTunaiController.java new file mode 100644 index 0000000..17bccb1 --- /dev/null +++ b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarTunaiController.java @@ -0,0 +1,27 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package id.amigogroup.posterminal.bayar; + +import java.net.URL; +import java.util.ResourceBundle; +import javafx.fxml.Initializable; + +/** + * FXML Controller class + * + * @author ronal + */ +public class FormBayarTunaiController implements Initializable { + + /** + * Initializes the controller class. + */ + @Override + public void initialize(URL url, ResourceBundle rb) { + // TODO + } + +} diff --git a/src/main/resources/fxml/FormBayar.fxml b/src/main/resources/fxml/FormBayar.fxml index e8b596c..40bd53a 100644 --- a/src/main/resources/fxml/FormBayar.fxml +++ b/src/main/resources/fxml/FormBayar.fxml @@ -1,235 +1,79 @@ - + - - + - - - + + + - + - diff --git a/src/main/resources/fxml/FormBayarKartu.fxml b/src/main/resources/fxml/FormBayarKartu.fxml new file mode 100644 index 0000000..60df05a --- /dev/null +++ b/src/main/resources/fxml/FormBayarKartu.fxml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/fxml/FormBayarOld.fxml b/src/main/resources/fxml/FormBayarOld.fxml new file mode 100644 index 0000000..3c90411 --- /dev/null +++ b/src/main/resources/fxml/FormBayarOld.fxml @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/fxml/FormBayarPoin.fxml b/src/main/resources/fxml/FormBayarPoin.fxml new file mode 100644 index 0000000..06a3dd7 --- /dev/null +++ b/src/main/resources/fxml/FormBayarPoin.fxml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/fxml/FormBayarRetur.fxml b/src/main/resources/fxml/FormBayarRetur.fxml new file mode 100644 index 0000000..8208c91 --- /dev/null +++ b/src/main/resources/fxml/FormBayarRetur.fxml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/fxml/FormBayarTunai.fxml b/src/main/resources/fxml/FormBayarTunai.fxml new file mode 100644 index 0000000..bb5cbe7 --- /dev/null +++ b/src/main/resources/fxml/FormBayarTunai.fxml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +