코딩/JAVA
Java 데이터 다른 클래스에서도 사용하는법, 페이지간 데이터 이동
LoGinShin
2023. 11. 24. 00:49
반응형
이 내용은 사실 다른 클래스를 호출해 메서드를 사용하는 게 전부입니다.
1번 클래스에서는 다른 컨트롤레어소 데이터를 사용할 수 있도록 getter메서드를 제공해 주는 것이고
2번 클래스에서는 1번 클래스를 생성하여 getter메서드로 데이터를 가지고 오는 것이다.
1. 데이터를 가지고 있는 컨트롤에서 ObservableList 객체를 생성하고 데이터를 추가합니다.
public class BookListController {
private ObservableList<Book> bookList = FXCollections.observableArrayList();
public void initialize() {
// 책 데이터를 가져와서 bookList에 추가하는 코드 작성
// 예시로 book1, book2, book3을 추가한다고 가정
bookList.addAll(book1, book2, book3);
}
// 다른 컨트롤러에서 사용할 수 있도록 getter 메서드 제공
public ObservableList<Book> getBookList() {
return bookList;
}
}
(javaFx프로젝트라 위와같은 initialize()메서드를 생성해서 만들었습니다, 사용하려면 Initializable interface를 implements 해줘야합니다)
2. 다른 컨트롤러에서 데이터를 사용할 때, 해당 컨트롤러의 인스턴스를 얻어온 후 getBookList() 메서드를 호출하여 데이터 리스트를 가져옵니다.
public class OtherController {
private BookListController bookListController;
public void setBookListController(BookListController bookListController) {
this.bookListController = bookListController;
}
public void someMethod() {
ObservableList<Book> bookList = bookListController.getBookList();
// bookList를 사용하여 원하는 작업 수행
}
}
위의 예시에서 BookListController는 책 데이터를 가지고 있는 컨트롤러이고, OtherController는 데이터를 사용할 다른 컨트롤러입니다.
setBookListController() 메서드를 통해 OtherController에서 BookListController의 인스턴스를 전달하여 연결합니다. 그리고 someMethod()에서 bookList를 통해 책 데이터 리스트에 접근하여 필요한 작업을 수행할 수 있습니다.
728x90
반응형