JAVAFX - odwołanie się do obiektu innego konektora

0

Witam,
w jaki sposób mógłbym odwołać się do obiektu w innym kontrolerze.

W moim programie po wybraniu utworzenia nowej bazy włącza się panel z formatką do tworzenia tajże bazy, tam podajemy wszelkie dane, w tym czasie przyciski do innych opcji mają być zablokowane. Problem występuję w momencie gdy chcę po utworzeniu bazy i dodaniu do niej wszystkich danych aktywować przyciski. Problem w tym że formatka i przyciski, które mają być blokowane, odsługiwane są w innych kontrolerach.

W jaki sposób mógłbym odwołać się z kontrolera do obsługi formatki, do przycisku z innego kontrolera?

Poniżej zamieszczam kody do obu kontrolerów.

package controllers;

import java.io.IOException;

import database.Database;
import javafx.collections.FXCollections;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.Region;

public class MainController {

	@FXML
	Pane firstPane;
	@FXML
	Region shadowRegion;
	@FXML
	Pane mainPane;
	@FXML
	Region selectedOption;
	@FXML
	Button newBargain;
	@FXML
	ChoiceBox<String> databaseList;
	
	@FXML
	public void initialize(){
		Database db = new Database();
		db.Connector();
		databaseList.setItems(FXCollections.observableArrayList( db.ShowDB()));
		db.CloseConn();
		databaseList.getSelectionModel().selectFirst();
	}
	
	@FXML
	public void nowyRachunek() {
		firstPane.setVisible(false);
		firstPane.setDisable(true);

		shadowRegion.setVisible(false);
		shadowRegion.setDisable(true);

		selectedOption.setVisible(true);
		selectedOption.setLayoutX(1250);
		selectedOption.setLayoutY(400);

		newBargain.setDisable(true);

		FXMLLoader loader = new FXMLLoader(this.getClass().getResource("/fxml/NewAccount.fxml"));
		Pane Pane = null;
		try {
			Pane = loader.load();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		mainPane.getChildren().add(Pane);

	}

	@FXML
	public void newBargain() {
		selectedOption.setVisible(true);
		selectedOption.setLayoutX(10);
		selectedOption.setLayoutY(20);

	}

	@FXML
	public void showDatabase() {
		System.out.println(databaseList.getValue());
		
	}
	
}
package controllers;

import database.Database;
import javafx.fxml.FXML;
import javafx.scene.control.DatePicker;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import obiekty.BazaDanych;
import obiekty.DziennikTransakcji;
import rozne.ActualDate;

public class AccountController {

	@FXML
	private TextField nazwaKonta;
	@FXML
	private DatePicker dataWprowadzenia;
	@FXML
	private TextField winien;
	@FXML
	private TextField ma;
	@FXML
	private TextArea komentarz;
	@FXML
	private TextField opis;
	@FXML
	private TextField nazwaBazy;
	

	@FXML
	void addNewAccount() {
		ActualDate actualDate = new ActualDate();
		BazaDanych bd = new BazaDanych();
		
		bd.setNazwa(nazwaBazy.getText());

		Database db = new Database();
		db.Connector();
		db.CreateDB(bd.getNazwa());
		db.ChooseDB(bd.getNazwa());
		db.CreateTabel();
		DziennikTransakcji dt = new DziennikTransakcji(bd, "001", "002", opis.getText(), Integer.parseInt(ma.getText()),
				"sad", komentarz.getText(), false, actualDate.getDate("dd-MM-yyy HH:mm"),
				dataWprowadzenia.getValue().toString());
		db.InputDziennik(dt);
		db.CloseConn();

		
		
		System.out.println("Nazwa DB= " + nazwaBazy.getText());
		System.out.println("id tranzakcji= " + dt.getId_transakcji());
		System.out.println("id kod rodzaju= " + dt.getKod_rodzaju());
		System.out.println("id kod tytulu= " + dt.getKod_tytułu());
		System.out.println(" opis= " + dt.getOpis());
		System.out.println(" wartosc= " + dt.getWartosc());
		System.out.println("id XML= " + dt.getPolecenie_XML());
		System.out.println(" komentarz= " + dt.getKomentarz());
		System.out.println("data aktualizacji= " + dt.getData_a());
		System.out.println(" data wprowadzenia= " + dt.getData_w());
	}
}
0

Ten temat wydaje się być podobny do Twojego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1