Alguem sabe como meter **** no lugar do texto ?!
Capturar|453x53
Porque não usa o componente apropriado para isso. O Java disponibiliza o componente JPasswordField
justamente para trocar os dados de uma senha por asterisco. Visite Oracle Docs - Java: JPasswordField para acessar a documentação do Java sobre esse componente e Java Tutorials - How to Use Password Fields para ter uma ideia de como utilizá-lo.
vou experimentar,obrigado!
Tem algum código de exemplo de como usar? É que nao percebi muito bem
Pôxa, o colega @Iohannes postou links com documentação e exemplos, você não conferiu?
Um JPasswordField
é semelhante à um JTextField
, única diferença é que, para obter o conteúdo dele você utiliza o método getPassword()
ao invés do getText()
.
peço desculpa amigo, mas não compreendi muito bem
Você sabe utilizar um JTextField
?
Posta um código onde você utiliza que fica fácil mostrar a diferença.
Estou a aprender ainda ,pois preciso desta linguagem para desenvolver um trabalho
Então sua dificuldade não está em usar um JPasswordField
.
O que lhe falta é primeiro ter o embasamento de programação com Java para depois conseguir desenvolver telinhas.
ja desenvolvi muitas mas nunca tinha usado Jpasswordfield
Estou a usar este código e da erro será que alguém podia dar umas dicas:
package gui;
import java.io.IOException;
import java.util.function.Consumer;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import application.Main;
import gui.util.Alerts;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.AnchorPane;
import model.services.stockservice;
public class LoginController {
@FXML
private Button Login;
@FXML
private Button Anterior;
@FXML
private TextField txtemail;
@FXML
private JPasswordField txtpass;
public void onBtAnterior() {
loadNovo("/gui/Form1.fxml", x -> {
});
}
public void onBtLogin() {
if (txtemail.getText().equals("xxxxxx") && txtpass.getPassword().equals("yyyyy")){
JOptionPane.showMessageDialog(null, "Bem vindo xxxx!!");
loadNovo("/gui/Stock.fxml", (StockController stController) -> {
stController.setstocksservice(new stockservice());
stController.updateTableView();
});
} else {
JOptionPane.showMessageDialog(null, "Dados Inválidos!!");
txtemail.clear();
}
if (txtemail.getText().length() < 0) {
JOptionPane.showMessageDialog(null, "Tem de preencher o seu email!!");
} else {
if (txtpass.getPassword().length< 0) {
JOptionPane.showMessageDialog(null, "Tem de inserir a sua password!!");
}
}
}
private synchronized <U> void loadNovo(String absolutename, Consumer<U> initializingAction) {
try {
FXMLLoader loader = new FXMLLoader(getClass().getResource(absolutename));
AnchorPane newAnchor = loader.load();
Scene mainScene = Main.getMainScene();
AnchorPane formAnchor = ((AnchorPane) mainScene.getRoot());
Node mainMenu = formAnchor.getChildren().get(0);
formAnchor.getChildren().clear();
formAnchor.getChildren().add(mainMenu);
formAnchor.getChildren().addAll(newAnchor.getChildren());
U stController = loader.getController();
initializingAction.accept(stController);
} catch (IOException e) {
Alerts.showAlert("IO Exception", "Error loading View", e.getMessage(), AlertType.ERROR);
}
}
}