- Kita memiliki 3 buah TextField
- Kita menentukan panjang masukan yang dapat dituliskan
- Jika sudah mencapai panjang maksimal berpindah ke TextField berikutnya
Jika sudah selesai melakukan eksplorasi buat program yang menentukan panjang textfield sesuai dengan panjang kolom didalam tabel yang tersimpan didalam database.
Sekarang kita akan melihat contoh program yang pertama :
/*
* 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 javafxtextfield;
import javafx.application.Application;
import javafx.event.Event;
import javafx.event.EventDispatchChain;
import javafx.event.EventDispatcher;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.control.TextFormatter;
import javafx.scene.control.TextFormatter.Change;
import javafx.scene.control.TextInputControl;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.Background;
import javafx.scene.layout.Border;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.util.StringConverter;
/**
*
* @author joko
*/
public class JavaFXTextField extends Application {
TextField txf1 = new TextField();
TextField txf2 = new TextField();
TextField txf3 = new TextField();
class ChangeHandler implements EventHandler{
@Override
public void handle(Event ev) {
if(txf1.getText().length()>10){
txf1.setText(txf1.getText(0, 10));
txf2.requestFocus();
}
if(txf2.getText().length()>5){
txf2.setText(txf2.getText(0, 5));
txf3.requestFocus();
}
if(txf3.getText().length()>3){
txf3.setText(txf3.getText(0, 3));
txf1.requestFocus();
}
}
}
@Override
public void start(Stage primaryStage) {
ChangeHandler ch = new ChangeHandler();
txf1.addEventFilter(KeyEvent.KEY_RELEASED, ch);
txf1.setMinWidth(100);
txf1.setMaxWidth(100);
txf2.addEventFilter(KeyEvent.KEY_RELEASED, ch);
txf2.setMinWidth(90);
txf2.setMaxWidth(90);
txf3.addEventFilter(KeyEvent.KEY_RELEASED, ch);
txf3.setMinWidth(90);
txf3.setMaxWidth(90);
GridPane root = new GridPane();
VBox vbx = new VBox();
vbx.getChildren().addAll(txf1, txf2, txf3);
root.getChildren().add(vbx);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
No comments:
Post a Comment