gpt4 book ai didi

java - 有效方法不适用于 Netbeans RCP 平台上的自定义选项面板

转载 作者:行者123 更新时间:2023-12-01 15:48:25 25 4
gpt4 key购买 nike

我有以下问题:

我正在实现一个基于 Netbeans 平台的 RCP 应用程序。我向应用程序添加了一个新的自定义辅助选项面板。

设计面板并设置正确的方法后(我实现了当字段更改时从 Controller 调用更改的方法的部分),我修改了选项面板( View )中的有效方法以进行正确的验证所有领域。据我了解, Controller 调用它来在保存之前验证表单。唯一的问题是,从我所看到的情况来看,这个方法永远不会被调用,因此在其中完成的任何验证都不会被激活。

有人可以告诉我我做错了什么吗?谢谢!

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;
}

最佳答案

提示在此代码注释中

// TODO listen to changes in form fields and call controller.changed()

您需要告诉 Controller 何时发生更改以及何时验证数据。因此,在一个简单的场景中,您可以监听按键事件,然后调用controller.changed()

private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {
controller.changed();
}

关于java - 有效方法不适用于 Netbeans RCP 平台上的自定义选项面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6640630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com