У меня есть проблема (вероятно, глупая) в связи с наследием в Java. Сейчас я занимаюсь разработкой приложения GUI с JavaFX. На данный момент я создал класс с именем Controller
, где я объявляю свои элементы GUI с помощью fxId и их собственных методов.
public class Controller implements Initializable {
@Override
public void initialize(URL location, ResourceBundle resources) {
}
//---------- INICIALIZAMOS LOS ELEMENTOS POR SU ID ----------//
@FXML
private Button btnConectar;
@FXML
private Button btnDesconectar;
{...}
@FXML
private void clickBtnDesconectar(ActionEvent event) {
System.out.println("Has sido DESCONECTADO");
}
@FXML
private void clickBtnContar(ActionEvent event) {
System.out.println("Has CONTADO");
}
{...}
В другом классе у меня есть код для связи с моим PL C Siemens. Там у меня наследие из класса Controller
. Причина в том, что я собираюсь использовать мои GUI элементы
import sample.Controller;
public class S7Service extends Controller{
public static final S7Client Client = new S7Client();
//public static byte[] Buffer = new byte[4];
{...}
Здесь мы можем получить доступ к GUI элементам.
Иногда возникает проблема при попытке вызвать методы создан в классе S7Service
, потому что не работает это объявление
import sample.S7Service;
public class Controller extends S7Service implements Initializable {
@Override
public void initialize(URL location, ResourceBundle resources) {
}
//---------- INICIALIZAMOS LOS ELEMENTOS POR SU ID ----------//
@FXML
private Button btnConectar;
{...}
Идея состоит в том, чтобы вызывать методы, объявленные в S7Service
в действиях кнопки.
Спасибо всем