ログインフォーム作成において,idまたはパスワードのtextFieldが空(1文字も入力されていない)の時はログインボタンを押せないようにしたいです.idとパスワードが双方1文字以上入力されていればボタンを押せるようにしたいです.
どのようにやれば良いのでしょうか?
新しくクラスを生成する必要はありますか?
プログラムソース(Controller.java)
Java
1package testSystem; 2 3import java.net.URL; 4import java.util.ResourceBundle; 5 6import javafx.event.ActionEvent; 7import javafx.fxml.FXML; 8import javafx.scene.control.Button; 9import javafx.scene.control.Hyperlink; 10import javafx.scene.control.Label; 11import javafx.scene.control.PasswordField; 12import javafx.scene.control.TextField; 13 14public class LoginController { 15 16 @FXML 17 private ResourceBundle resources; 18 19 @FXML 20 private URL location; 21 22 @FXML 23 private TextField num; 24 25 @FXML 26 private PasswordField passwd; 27 28 @FXML 29 private Button loginButton; 30 31 @FXML 32 private Hyperlink createLink; 33 34 @FXML 35 private Label warning; 36 37 @FXML 38 void initialize() { 39 assert id != null : "fx:id=\"id\" was not injected: check your FXML file 'Login.fxml'."; 40 assert passwd != null : "fx:id=\"passwd\" was not injected: check your FXML file 'Login.fxml'."; 41 assert loginButton != null : "fx:id=\"loginButton\" was not injected: check your FXML file 'Login.fxml'."; 42 assert createLink != null : "fx:id=\"createLink\" was not injected: check your FXML file 'Login.fxml'."; 43 assert warning != null : "fx:id=\"warning\" was not injected: check your FXML file 'Login.fxml'."; 44 } 45 46 @FXML 47 public void OnClick(ActionEvent event) { 48 String idNumber = id.getText(); 49 String password = passwd.getText(); 50 51 if(idNumber.equals("test")&&password.equals("test")) { 52 System.out.print("id:"+idNumber+" pass:"+password+" → "); 53 System.out.println("成功"); 54 id.setText(""); 55 passwd.setText(""); 56 warning.setText("OK");//本来はここで画面遷移させる 57 58 } 59 else { 60 System.out.print("id:"+idNumber+" pass:"+password+" → "); 61 System.out.println("失敗"); 62 id.setText("");//TextFieldを空(カラ)にする 63 passwd.setText("");//PasswdFieldを空にする 64 warning.setText("※正しいアカウント情報を入力してください"); 65 } 66 } 67} 68 69
回答1件
あなたの回答
tips
プレビュー