@ -7,14 +7,19 @@ package id.amigogroup.posterminal.pos;
import java.net.URL ;
import java.net.URL ;
import java.util.ArrayList ;
import java.util.ArrayList ;
import java.util.HashMap ;
import java.util.List ;
import java.util.List ;
import java.util.Map ;
import java.util.ResourceBundle ;
import java.util.ResourceBundle ;
import javafx.application.Platform ;
import javafx.event.ActionEvent ;
import javafx.event.ActionEvent ;
import javafx.fxml.FXML ;
import javafx.fxml.FXML ;
import javafx.fxml.Initializable ;
import javafx.fxml.Initializable ;
import javafx.scene.control.Button ;
import javafx.scene.control.Button ;
import javafx.scene.control.TextField ;
import javafx.scene.control.TextField ;
import javafx.scene.input.KeyCode ;
import javafx.scene.input.KeyCode ;
import javafx.scene.input.KeyCodeCombination ;
import javafx.scene.input.KeyCombination ;
import javafx.scene.input.KeyEvent ;
import javafx.scene.input.KeyEvent ;
import javafx.scene.text.Text ;
import javafx.scene.text.Text ;
@ -42,6 +47,7 @@ public class FormTransaksiController implements Initializable {
private final String BTN_BAWA_DULU = "bawa dulu" ;
private final String BTN_BAWA_DULU = "bawa dulu" ;
private final String BTN_BON = "bon" ;
private final String BTN_BON = "bon" ;
private final String BTN_RETUR = "retur" ;
private final String BTN_RETUR = "retur" ;
private String tableState = BTN_TUNAI ;
private List < Button > navigasi = new ArrayList < > ( ) ;
private List < Button > navigasi = new ArrayList < > ( ) ;
@ -54,37 +60,73 @@ public class FormTransaksiController implements Initializable {
navigasi . add ( btnBawaDulu ) ;
navigasi . add ( btnBawaDulu ) ;
navigasi . add ( btnBon ) ;
navigasi . add ( btnBon ) ;
navigasi . add ( btnRetur ) ;
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
@FXML
void btnNavigasiOnAction ( ActionEvent event ) {
void btnNavigasiOnAction ( ActionEvent event ) {
Button buttonSource = ( Button ) event . getSource ( ) ;
Button buttonSource = ( Button ) event . getSource ( ) ;
if ( ! tableState . equals ( buttonSource . getText ( ) . toLowerCase ( ) ) ) {
switch ( buttonSource . getText ( ) . toLowerCase ( ) ) {
switch ( buttonSource . getText ( ) . toLowerCase ( ) ) {
case BTN_TUNAI :
case BTN_TUNAI :
//ambil data tunai
//ambil data tunai
tableState = BTN_TUNAI ;
System . out . println ( "ambil data tunai" ) ;
System . out . println ( "ambil data tunai" ) ;
break ;
break ;
case BTN_BAWA_DULU :
case BTN_BAWA_DULU :
//ambil data bawa dulu
//ambil data bawa dulu
tableState = BTN_BAWA_DULU ;
System . out . println ( "ambil data bawa dulu" ) ;
System . out . println ( "ambil data bawa dulu" ) ;
break ;
break ;
case BTN_BON :
case BTN_BON :
//ambil data bon
//ambil data bon
tableState = BTN_BON ;
System . out . println ( "ambil data bon" ) ;
System . out . println ( "ambil data bon" ) ;
break ;
break ;
case BTN_RETUR :
case BTN_RETUR :
//ambil data retur
//ambil data retur
tableState = BTN_RETUR ;
System . out . println ( "ambil data retur" ) ;
System . out . println ( "ambil data retur" ) ;
break ;
break ;
}
}
}
for ( Button button : navigasi ) {
for ( Button button : navigasi ) {
if ( button . equals ( buttonSource ) ) {
if ( button . equals ( buttonSource ) ) {
if ( ! button . getStyleClass ( ) . contains ( "button-navigasi-transaksi-selected" ) ) {
button . getStyleClass ( ) . add ( "button-navigasi-transaksi-selected" ) ;
button . getStyleClass ( ) . add ( "button-navigasi-transaksi-selected" ) ;
}
} else {
} else {
if ( button . getStyleClass ( ) . contains ( "button-navigasi-transaksi-selected" ) ) {
button . getStyleClass ( ) . remove ( "button-navigasi-transaksi-selected" ) ;
button . getStyleClass ( ) . remove ( "button-navigasi-transaksi-selected" ) ;
}
}
}
}
}
fldScan . requestFocus ( ) ;
fldScan . requestFocus ( ) ;
}
}