私は次の問題を抱えています:
Netbeansプラットフォームに基づくRCPアプリケーションを実装しています。新しいカスタムセカンダリオプションパネルをアプリケーションに追加しました。
パネルを設計して適切なメソッドを設定した後(フィールドが変更されたときにコントローラーから変更されたメソッドを呼び出す部分を実装しました)、オプションパネル(ビュー)から有効なメソッドを変更して、すべてのフィールドで適切な検証を行いました。私が理解したことから、これは保存する前にフォームを検証するためにコントローラーによって呼び出されます。唯一の問題は、このメソッドが私が見ることができるものから呼び出されることがないため、その中で行われる検証がアクティブ化されないことです。
誰かが私が間違っていることを教えてもらえますか?ありがとうございました!
boolean valid() {
if (addressTextField.getText().isEmpty()) {
return false;
}
if (portTextField.getText().isEmpty()) {
return false;
}
if (userTextField.getText().isEmpty()) {
return false;
}
if (passwordPasswordField.getPassword().length == 0) {
return false;
}
if (databaseNameTextField.getText().isEmpty()) {
return false;
}
//TODO: change this back to the connection string builder after testing
String databaseURL = "jdbc:mysql://" + addressTextField.getText().trim() + ":" + portTextField.getText().trim() + "/" + databaseNameTextField.getText().trim() +
"?user=" + userTextField.getText().trim() + "&password=" + StringUtilities.charToString(passwordPasswordField.getPassword());
if(!SQLDatabaseConnectionManagerImpl.testPing(databaseURL)) {
messageLabel.setText("");
messageLabel.setForeground(Color.red);
messageLabel.setText(NbBundle.getBundle(ImportDataOptionsPanel.class).getString("ImportDataOptionsPanel.connectionErrorMessage.text"));
debug("Error on database connection with the following connection string: " + databaseURL, ImportDataOptionsPanel.IMPORTANT);
return false;
}
return true;
}