-1
저는 최근에 간단한 JavaFX GUI를 구현했습니다. ImageView (생성자 매개 변수)를 참조하는 TableView를 확장하는 클래스가 있습니다. 일단 행이 선택됩니다. 프로그램은 행의 객체 문자열을 가져옵니다. 그런 다음 ImageView에 할당됩니다.다른 클래스에서 JavaFX ImageView에 액세스하는 방법
이 코드는 기본 코드에서 작동합니다.
tableView.getSelectionModel().selectedItemProperty().addListener((obs, oldSelection, newSelection) -> {
if (newSelection != null) {
String imageID = tableView.getSelectionModel().getSelectedItem().IMAGE_ID;
try{
Image image = new Image(getClass().getResource("/resources/fellowshipcards/"+imageID).toURI().toString());
cardImageView.setImage(image);
}catch(Exception ex){}
}
});
하지만 매개 변수로 추가 할 때 - 오류가 발생합니다. ImageView에 액세스 할 수 없습니다. 단순한 imageView.setImage (image)는 실행되지 않습니다.
public TableViewCenter(ImageView cardImageView){
.... 행이 선택되면
try{
Image image = new Image(getClass().getResource("/resources/fellowshipcards/"+imageID).toURI().toString());
System.out.println(imageID);
cardImageView.setImage(image);
}catch(Exception ex){}
, 시스템은 .setImage (이미지) 기능없이 모든 exectes.
범위 문제이거나 JavaFX가 다른 구성 요소 문제에 액세스하고있는 것일 수 있습니다.
어떻게하면 tableview에서 cardImageView가 노출됩니까? ImageView는 새 테이블 뷰의 일부입니까? 그렇다면 tableView.getCardImageView(). set() ... –
과 같은 것이 필요할 것입니다. main 메소드에서 -> ImageView imageView = new ImageView(); -> MyTableView myTableView = 새로운 myTableView (이미지 뷰); MyTableView 인스턴스가 ImageView가있는 HBox에 설치됩니다. 코드에서 코드를 분리하려고했습니다. 그리고 MyTableView 객체 만들기 (OOP 연습) –
구조체를 이해하지 못합니다. 거기에 코드를 모두 넣을 수 있습니까? –