【发布时间】:2016-03-24 11:53:52
【问题描述】:
如果变量 TextField 设置为 final,我无法设置 TextField,但如果我将其更改为私有或公共,它会更改我的 textfiel 的文本。我认为 final 只是不允许创建另一个类实例。我尝试打印私有和最终 TextField 的 HashCode,但它们没有改变。所以我很好奇为什么我必须有私人或公共的 TextField 来 SetText() 给它。
public class SearchController {
@FXML
final TextField textfieldSelectedDirectory = new TextField();
@FXML
private Button path;
@FXML
private Label pathlabel;
@FXML
final TextField searchfield = new TextField();
public String getSearchfield() {
return searchfield.getText();
}
private MainApp mainApp;
private Stage stage;
public SearchController() {
}
@FXML
private void Index() {
IndexFiles.index();
}
@FXML
private void search() {
SearchFiles().Search();
System.out.println(searchfield.hashCode());
System.out.println("Somtu");
System.out.println(getSearchfield());
}
private void setPath(File selectedDirectory) {
String dir = selectedDirectory.getAbsolutePath();
pathlabel.setText(dir);
textfieldSelectedDirectory.clear();
// textfieldSelectedDirectory.getParent().layout();
System.out.println(textfieldSelectedDirectory.getText());
}
}
谢谢你的回答。
【问题讨论】:
标签: java javafx java-8 textfield settext