|
- /*
- * 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.pos;
-
- import java.net.URL;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.ResourceBundle;
- import javafx.application.Platform;
- import javafx.event.ActionEvent;
- import javafx.fxml.FXML;
- import javafx.fxml.Initializable;
- import javafx.scene.control.Button;
- import javafx.scene.control.TextField;
- import javafx.scene.input.KeyCode;
- import javafx.scene.input.KeyCodeCombination;
- import javafx.scene.input.KeyCombination;
- import javafx.scene.input.KeyEvent;
- import javafx.scene.text.Text;
-
- /**
- * FXML Controller class
- *
- * @author ronal
- */
- public class FormTransaksiController implements Initializable {
-
- @FXML
- private TextField fldScan;
- @FXML
- private Button btnTunai;
- @FXML
- private Button btnBawaDulu;
- @FXML
- private Button btnBon;
- @FXML
- private Button btnRetur;
- @FXML
- private Text lblGrandTotal;
-
- private final String BTN_TUNAI = "tunai";
- private final String BTN_BAWA_DULU = "bawa dulu";
- private final String BTN_BON = "bon";
- private final String BTN_RETUR = "retur";
- private String tableState = BTN_TUNAI;
-
- private List<Button> navigasi = new ArrayList<>();
-
- /**
- * Initializes the controller class.
- */
- @Override
- public void initialize(URL url, ResourceBundle rb) {
- navigasi.add(btnTunai);
- navigasi.add(btnBawaDulu);
- navigasi.add(btnBon);
- navigasi.add(btnRetur);
-
- initShortcuts();
- }
-
- public void initShortcuts() {
- Map<KeyCombination, Runnable> listShortcuts = new HashMap<>();
-
- KeyCombination kcBtnTunai = new KeyCodeCombination(KeyCode.S);
- Runnable rnBtnTunai = () -> btnTunai.fire();
- listShortcuts.put(kcBtnTunai, rnBtnTunai);
-
- KeyCombination kcBtnBawa = new KeyCodeCombination(KeyCode.F2);
- Runnable rnBtnBawa = () -> btnBawaDulu.fire();
- listShortcuts.put(kcBtnBawa, rnBtnBawa);
-
- KeyCombination kcBon = new KeyCodeCombination(KeyCode.F3);
- Runnable rnBon = () -> btnBon.fire();
- listShortcuts.put(kcBon, rnBon);
-
- KeyCombination kcRetur = new KeyCodeCombination(KeyCode.F4);
- Runnable rnRetur = () -> btnRetur.fire();
- listShortcuts.put(kcRetur, rnRetur);
-
- Platform.runLater(() -> {
- fldScan.getScene().getAccelerators().putAll(listShortcuts);
- });
- }
-
- @FXML
- void btnNavigasiOnAction(ActionEvent event) {
- Button buttonSource = (Button) event.getSource();
- if (!tableState.equals(buttonSource.getText().toLowerCase())) {
- switch (buttonSource.getText().toLowerCase()) {
- case BTN_TUNAI:
- //ambil data tunai
- tableState = BTN_TUNAI;
- System.out.println("ambil data tunai");
- break;
- case BTN_BAWA_DULU:
- //ambil data bawa dulu
- tableState = BTN_BAWA_DULU;
- System.out.println("ambil data bawa dulu");
- break;
- case BTN_BON:
- //ambil data bon
- tableState = BTN_BON;
- System.out.println("ambil data bon");
- break;
- case BTN_RETUR:
- //ambil data retur
- tableState = BTN_RETUR;
- System.out.println("ambil data retur");
- break;
- }
- }
-
- for (Button button : navigasi) {
- if (button.equals(buttonSource)) {
- if (!button.getStyleClass().contains("button-navigasi-transaksi-selected")) {
- button.getStyleClass().add("button-navigasi-transaksi-selected");
- }
- } else {
- if (button.getStyleClass().contains("button-navigasi-transaksi-selected")) {
- button.getStyleClass().remove("button-navigasi-transaksi-selected");
- }
- }
- }
-
- fldScan.requestFocus();
- }
-
- @FXML
- void fldScanOnKeyPressed(KeyEvent event) {
- if (event.getCode() == KeyCode.ENTER) {
- //proses scan
- System.out.println("Scan");
- }
- }
- }
|