本文整理汇总了Java中wallettemplate.utils.TextFieldValidator类的典型用法代码示例。如果您正苦于以下问题:Java TextFieldValidator类的具体用法?Java TextFieldValidator怎么用?Java TextFieldValidator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
TextFieldValidator类属于wallettemplate.utils包,在下文中一共展示了TextFieldValidator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: prepareUI
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
private void prepareUI (Stage mainWindow) throws IOException {
this.mainWindow = mainWindow;
// Show the crash dialog for any exceptions that we don't handle and that hit the main loop.
GuiUtils.handleCrashesOnThisThread();
// Load the GUI. The MainController class will be automagically created and wired up.
File file = new File("main.fxml");
URL location = getClass().getResource("main.fxml");
FXMLLoader loader = new FXMLLoader(location);
mainUI = loader.load();
controller = loader.getController();
// Configure the window with a StackPane so we can overlay things on top of the main UI, and a
// NotificationBarPane so we can slide messages and progress bars in from the bottom. Note that
// ordering of the construction and connection matters here, otherwise we get (harmless) CSS error
// spew to the logs.
notificationBar = new NotificationBarPane(mainUI);
mainWindow.setTitle(APP_NAME);
uiStack = new StackPane();
Scene scene = new Scene(uiStack);
TextFieldValidator.configureScene(scene); // Add CSS that we need.
scene.getStylesheets().add(getClass().getResource("wallet.css").toString());
uiStack.getChildren().add(notificationBar);
mainWindow.setScene(scene);
}
示例2: loadFXML
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
@SuppressWarnings("restriction")
private Stage loadFXML(Stage s, URL url, int width, int height) {
s = new Stage();
try {
FXMLLoader loader = new FXMLLoader(url);
s.setTitle("Test SSS Spliting");
Scene scene;
scene = new Scene((AnchorPane) loader.load(), width, height);
final String file = TextFieldValidator.class.getResource("GUI.css").toString();
scene.getStylesheets().add(file);
s.setScene(scene);
return s;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
示例3: loadFXML
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
@SuppressWarnings("restriction")
private void loadFXML() {
dialogStage = new Stage();
try {
FXMLLoader loader = new FXMLLoader();
loader.setController(this);
loader.setLocation(getViewURL());
Scene scene;
scene = new Scene((AnchorPane) loader.load());
final String file = TextFieldValidator.class.getResource("GUI.css").toString();
scene.getStylesheets().add(file);
dialogStage.setScene(scene);
} catch (IOException e) {
e.printStackTrace();
}
}
示例4: loadFXML
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
private void loadFXML() {
dialogStage = new Stage();
try {
FXMLLoader loader = new FXMLLoader();
loader.setController(this);
loader.setLocation(getViewURL());
Scene scene;
scene = new Scene((AnchorPane) loader.load());
final String file = TextFieldValidator.class.getResource("GUI.css").toString();
scene.getStylesheets().add(file);
dialogStage.setScene(scene);
dialogStage.initStyle(StageStyle.UNDECORATED);
} catch (IOException e) {
e.printStackTrace();
}
}
示例5: initialize
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
public void initialize() {
Coin balance = Main.bitcoin.wallet().getBalance();
checkState(!balance.isZero());
new BitcoinAddressValidator(Main.params, address, sendBtn);
new TextFieldValidator(amountEdit, text ->
!WTUtils.didThrow(() -> checkState(Coin.parseCoin(text).compareTo(balance) <= 0)));
amountEdit.setText(balance.toPlainString());
}
示例6: BitcoinAddressValidator
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
public BitcoinAddressValidator(NetworkParameters params, TextField field, Node... nodes) {
this.params = params;
this.nodes = nodes;
// Handle the red highlighting, but don't highlight in red just when the field is empty because that makes
// the example/prompt address hard to read.
new TextFieldValidator(field, text -> text.isEmpty() || testAddr(text));
// However we do want the buttons to be disabled when empty so we apply a different test there.
field.textProperty().addListener((observableValue, prev, current) -> {
toggleButtons(current);
});
toggleButtons(field.getText());
}
示例7: initialize
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
public void initialize () {
Coin balance = Main.wallet.getBalance();
checkState(!balance.isZero());
new BitcoinAddressValidator(Constants.getNetwork(), address, sendBtn);
new TextFieldValidator(amountEdit, text ->
!WTUtils.didThrow(() -> checkState(Coin.parseCoin(text).compareTo(balance) <= 0)));
amountEdit.setText(balance.toPlainString());
}
示例8: BitcoinAddressValidator
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
public BitcoinAddressValidator (NetworkParameters params, TextField field, Node... nodes) {
this.params = params;
this.nodes = nodes;
// Handle the red highlighting, but don't highlight in red just when the field is empty because that makes
// the example/prompt address hard to read.
new TextFieldValidator(field, text -> text.isEmpty() || testAddr(text));
// However we do want the buttons to be disabled when empty so we apply a different test there.
field.textProperty().addListener((observableValue, prev, current) -> {
toggleButtons(current);
});
toggleButtons(field.getText());
}
示例9: init
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
@SuppressWarnings("restriction")
private void init(Stage mainWindow) {
try {
// Load the GUI. The Controller class will be automagically created and wired up.
mainWindow.initStyle(StageStyle.UNDECORATED);
URL location = getClass().getResource("gui.fxml");
FXMLLoader loader = new FXMLLoader(location);
mainUI = (AnchorPane) loader.load();
controller = loader.getController();
// Configure the window with a StackPane so we can overlay things on top of the main UI.
uiStack = new StackPane(mainUI);
mainWindow.setTitle(BAApplication.ApplicationParams.getAppName() + " " + BAApplication.ApplicationParams.getFriendlyAppVersion());
final Scene scene = new Scene(uiStack, 850, 483);
final String file = TextFieldValidator.class.getResource("GUI.css").toString();
scene.getStylesheets().add(file); // Add CSS that we need.
mainWindow.setScene(scene);
stage = mainWindow;
String filePath1 = ApplicationParams.getApplicationDataFolderAbsolutePath() + ApplicationParams.getAppName() + ".wallet";
File f1 = new File(filePath1);
if(!f1.exists()) {
Parent root;
StartupController.appParams = ApplicationParams;
root = FXMLLoader.load(Main.class.getResource("/wallettemplate/startup/walletstartup.fxml"));
startup = new Stage();
startup.setTitle("Setup");
startup.initStyle(StageStyle.UNDECORATED);
Scene scene1 = new Scene(root, 607, 400);
final String file1 = TextFieldValidator.class.getResource("GUI.css").toString();
scene1.getStylesheets().add(file1); // Add CSS that we need.
startup.setScene(scene1);
startup.show();
} else {finishLoading();}
}
catch (Exception e) {
e.printStackTrace();
throw new CouldNotIinitializeWalletException("Could Not initialize wallet");
}
}
示例10: launchBackup
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
@SuppressWarnings("restriction")
public void launchBackup(ActionEvent event) throws NoWalletPasswordException {
if(Authenticator.getWalletOperation().isWalletEncrypted())
if(Main.UI_ONLY_WALLET_PW == null || Main.UI_ONLY_WALLET_PW.length() == 0)
{
informationalAlert("Please Unlock Your Wallet",
"In the main window, unlock your wallet to back it up.");
return;
}
Parent root;
try {
StartupController.appParams = Authenticator.getApplicationParams();
URL location = getClass().getResource("/wallettemplate/startup/walletstartup.fxml");
FXMLLoader loader = new FXMLLoader(location);
root = loader.load();
backupPane = new Stage();
backupPane.setTitle("Backup");
backupPane.initStyle(StageStyle.UNDECORATED);
Scene scene1 = new Scene(root, 607, 400);
final String file1 = TextFieldValidator.class.getResource("GUI.css").toString();
scene1.getStylesheets().add(file1); // Add CSS that we need.
backupPane.setScene(scene1);
StartupController controller = loader.getController();
DeterministicSeed seed = Authenticator.getWalletOperation().getWalletSeed(Main.UI_ONLY_WALLET_PW);
controller.setBackupMode(Authenticator.getWalletOperation().getTrackedWallet(), seed);
backupPane.show();
} catch (IOException e) {e.printStackTrace();}
}
示例11: initialize
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
public void initialize() {
Coin balance = Main.nubits.wallet().getBalance();
checkState(!balance.isZero());
new NuBitsAddressValidator(Main.params, address, sendBtn);
new TextFieldValidator(amountEdit, text ->
!WTUtils.didThrow(() -> checkState(Coin.parseCoin(text).compareTo(balance) <= 0)));
amountEdit.setText(balance.toPlainString());
}
示例12: NuBitsAddressValidator
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
public NuBitsAddressValidator(NetworkParameters params, TextField field, Node... nodes) {
this.params = params;
this.nodes = nodes;
// Handle the red highlighting, but don't highlight in red just when the field is empty because that makes
// the example/prompt address hard to read.
new TextFieldValidator(field, text -> text.isEmpty() || testAddr(text));
// However we do want the buttons to be disabled when empty so we apply a different test there.
field.textProperty().addListener((observableValue, prev, current) -> {
toggleButtons(current);
});
toggleButtons(field.getText());
}
示例13: realStart
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
private void realStart(Stage mainWindow) throws IOException {
this.mainWindow = mainWindow;
instance = this;
// Show the crash dialog for any exceptions that we don't handle and that hit the main loop.
GuiUtils.handleCrashesOnThisThread();
if (System.getProperty("os.name").toLowerCase().contains("mac")) {
// We could match the Mac Aqua style here, except that (a) Modena doesn't look that bad, and (b)
// the date picker widget is kinda broken in AquaFx and I can't be bothered fixing it.
// AquaFx.style();
}
// Load the GUI. The MainController class will be automagically created and wired up.
URL location = getClass().getResource("main.fxml");
FXMLLoader loader = new FXMLLoader(location);
mainUI = loader.load();
controller = loader.getController();
// Configure the window with a StackPane so we can overlay things on top of the main UI, and a
// NotificationBarPane so we can slide messages and progress bars in from the bottom. Note that
// ordering of the construction and connection matters here, otherwise we get (harmless) CSS error
// spew to the logs.
notificationBar = new NotificationBarPane(mainUI);
mainWindow.setTitle(APP_NAME);
uiStack = new StackPane();
Scene scene = new Scene(uiStack);
TextFieldValidator.configureScene(scene); // Add CSS that we need.
scene.getStylesheets().add(getClass().getResource("wallet.css").toString());
uiStack.getChildren().add(notificationBar);
mainWindow.setScene(scene);
// Make log output concise.
BriefLogFormatter.init();
// Tell creativecoinj to run event handlers on the JavaFX UI thread. This keeps things simple and means
// we cannot forget to switch threads when adding event handlers. Unfortunately, the DownloadListener
// we give to the app kit is currently an exception and runs on a library thread. It'll get fixed in
// a future version.
Threading.USER_THREAD = Platform::runLater;
// Create the app kit. It won't do any heavyweight initialization until after we start it.
setupWalletKit(null);
if (bitcoin.isChainFileLocked()) {
informationalAlert("Already running", "This application is already running and cannot be started twice.");
Platform.exit();
return;
}
mainWindow.show();
WalletSetPasswordController.estimateKeyDerivationTimeMsec();
bitcoin.addListener(new Service.Listener() {
@Override
public void failed(Service.State from, Throwable failure) {
GuiUtils.crashAlert(failure);
}
}, Platform::runLater);
bitcoin.startAsync();
scene.getAccelerators().put(KeyCombination.valueOf("Shortcut+F"), () -> bitcoin.peerGroup().getDownloadPeer().close());
}
示例14: initialize
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
public void initialize(@Nullable KeyParameter aesKey) {
DeterministicSeed seed = Main.bitcoin.wallet().getKeyChainSeed();
if (aesKey == null) {
if (seed.isEncrypted()) {
log.info("Wallet is encrypted, requesting password first.");
// Delay execution of this until after we've finished initialising this screen.
Platform.runLater(() -> askForPasswordAndRetry());
return;
}
} else {
this.aesKey = aesKey;
seed = seed.decrypt(checkNotNull(Main.bitcoin.wallet().getKeyCrypter()), "", aesKey);
// Now we can display the wallet seed as appropriate.
passwordButton.setText("Remove password");
}
// Set the date picker to show the birthday of this wallet.
Instant creationTime = Instant.ofEpochSecond(seed.getCreationTimeSeconds());
LocalDate origDate = creationTime.atZone(ZoneId.systemDefault()).toLocalDate();
datePicker.setValue(origDate);
// Set the mnemonic seed words.
final List<String> mnemonicCode = seed.getMnemonicCode();
checkNotNull(mnemonicCode); // Already checked for encryption.
String origWords = Utils.join(mnemonicCode);
wordsArea.setText(origWords);
// Validate words as they are being typed.
MnemonicCode codec = unchecked(MnemonicCode::new);
TextFieldValidator validator = new TextFieldValidator(wordsArea, text ->
!didThrow(() -> codec.check(Splitter.on(' ').splitToList(text)))
);
// Clear the date picker if the user starts editing the words, if it contained the current wallets date.
// This forces them to set the birthday field when restoring.
wordsArea.textProperty().addListener(o -> {
if (origDate.equals(datePicker.getValue()))
datePicker.setValue(null);
});
BooleanBinding datePickerIsInvalid = or(
datePicker.valueProperty().isNull(),
createBooleanBinding(() ->
datePicker.getValue().isAfter(LocalDate.now())
, /* depends on */ datePicker.valueProperty())
);
// Don't let the user click restore if the words area contains the current wallet words, or are an invalid set,
// or if the date field isn't set, or if it's in the future.
restoreButton.disableProperty().bind(
or(
or(
not(validator.valid),
equal(origWords, wordsArea.textProperty())
),
datePickerIsInvalid
)
);
// Highlight the date picker in red if it's empty or in the future, so the user knows why restore is disabled.
datePickerIsInvalid.addListener((dp, old, cur) -> {
if (cur) {
datePicker.getStyleClass().add("validation_error");
} else {
datePicker.getStyleClass().remove("validation_error");
}
});
}
示例15: initialize
import wallettemplate.utils.TextFieldValidator; //导入依赖的package包/类
public void initialize (@Nullable KeyParameter aesKey) {
DeterministicSeed seed = Main.wallet.getKeyChainSeed();
if (aesKey == null) {
if (seed.isEncrypted()) {
log.info("Wallet is encrypted, requesting password first.");
// Delay execution of this until after we've finished initialising this screen.
Platform.runLater(() -> askForPasswordAndRetry());
return;
}
} else {
this.aesKey = aesKey;
seed = seed.decrypt(checkNotNull(Main.wallet.getKeyCrypter()), "", aesKey);
// Now we can display the wallet seed as appropriate.
passwordButton.setText("Remove password");
}
// Set the date picker to show the birthday of this wallet.
Instant creationTime = Instant.ofEpochSecond(seed.getCreationTimeSeconds());
LocalDate origDate = creationTime.atZone(ZoneId.systemDefault()).toLocalDate();
datePicker.setValue(origDate);
// Set the mnemonic seed words.
final List<String> mnemonicCode = seed.getMnemonicCode();
checkNotNull(mnemonicCode); // Already checked for encryption.
String origWords = Utils.join(mnemonicCode);
wordsArea.setText(origWords);
// Validate words as they are being typed.
MnemonicCode codec = unchecked(MnemonicCode::new);
TextFieldValidator validator = new TextFieldValidator(wordsArea, text ->
!didThrow(() -> codec.check(Splitter.on(' ').splitToList(text)))
);
// Clear the date picker if the user starts editing the words, if it contained the current wallets date.
// This forces them to set the birthday field when restoring.
wordsArea.textProperty().addListener(o -> {
if (origDate.equals(datePicker.getValue())) {
datePicker.setValue(null);
}
});
BooleanBinding datePickerIsInvalid = or(
datePicker.valueProperty().isNull(),
createBooleanBinding(() ->
datePicker.getValue().isAfter(LocalDate.now())
, /* depends on */ datePicker.valueProperty())
);
// Don't let the user click restore if the words area contains the current wallet words, or are an invalid set,
// or if the date field isn't set, or if it's in the future.
restoreButton.disableProperty().bind(
or(
or(
not(validator.valid),
equal(origWords, wordsArea.textProperty())
),
datePickerIsInvalid
)
);
// Highlight the date picker in red if it's empty or in the future, so the user knows why restore is disabled.
datePickerIsInvalid.addListener((dp, old, cur) -> {
if (cur) {
datePicker.getStyleClass().add("validation_error");
} else {
datePicker.getStyleClass().remove("validation_error");
}
});
}