[英]Java cannot find method symbol
我試圖從Controller.java中的connectEvent方法內部訪問一個方法,它給我錯誤:
Java: cannot find symbol
symbol: method getConnection()
location: variable main of type sample.Main
我忽略了什么嗎? 我已經嘗試了所有的干杯
Controller.java
package sample;
import javafx.beans.NamedArg;
import javafx.event.ActionEvent;
import javafx.event.Event;
import javafx.event.EventType;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import lombok.Getter;
import lombok.Setter;
public class Controller{
@Getter
private Main main;
public Controller(Main main){
this.main = main;
}
//FXML to Java Links
@FXML
@Getter
private Button connectButton;
@FXML
@Getter
private TextArea passwordText;
@FXML
@Getter
private TextArea ipText;
@FXML
@Getter
private TextArea usernameText;
//FXML linked methods
/**
* Called when user tries to connect using supplied information
*/
@FXML
public void connectEvent(ActionEvent event){
main.getConnection().connect(getUsernameText().getText(), passwordText.getText(), ipText.getText());
}
}
Main.java
package sample;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import lombok.Getter;
public class Main extends Application {
@Getter
private Controller controller;
@Getter
private Connection connection = new Connection();
@Override
public void start(Stage primaryStage) throws Exception{
FXMLLoader loader = new FXMLLoader(getClass().getResource("Startup.fxml"));
controller = loader.getController();
Parent root = loader.load(getClass().getResource("Startup.fxml"));
primaryStage.setTitle("MCManager");
primaryStage.setScene(new Scene(root, 850, 600));
primaryStage.setResizable(false);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
連接
package sample;
public class Connection {
public void connect(String username, String password, String ip){
}
}
在您的控制器中,您正在調用main.getConnection()
@FXML
public void connectEvent(ActionEvent event){
main.getConnection().connect(getUsernameText().getText(), passwordText.getText(), ipText.getText());
}
但是在Main類中沒有getConnection()
方法。
將以下代碼放在Main類中。
public Connection getConnection(){
return connection;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.