홈>
TabPane에 여러 개의Tab이 포함 된 프로그램을 만들었습니다. 누군가가 탭을 닫으려고하면 내 코드를 실행하려고합니다. 사용자가 탭의 기본 닫기 버튼을 클릭하면 확인을 요청합니다. 사용자가 "예"라고 말하면 탭이 닫히고 그렇지 않으면 계속 열려 있습니다.
어떻게하면 되나요?
저는 아래와 같은 일을하고 있습니다. 그러나 탭은 여전히 닫히고 있습니다. 해당 탭을 어떻게 사용합니까?
Tab tab = new Tab();
TabPane tabPane=new TabPane();
tabPane.getTabs().add(tab);
tab.setOnClosed(new EventHandler<Event>() {
@Override
public void handle(Event t) {
t.consume();
}
});
- 답변 # 1
- 답변 # 2
아래와 같이 나만의 방식으로 나옵니다.
하이퍼 링크를 만들어 해당 탭의 그래픽으로 설정하고 제대로 작동합니다./* The installed event handler can prevent tab closing by consuming the received event. */ public void setOnCloseRequest(EventHandler<Event> value)
- 답변 # 3
잠재적 인 해결책이 있습니다. 아래 코드에 "사용자 프롬프트"로직을 추가하면 원하는대로해야합니다.
Hyperlink hlink = new Hyperlink(); Image image = new Image(MyClass.class.getResourceAsStream("/images/close.png")); hlink.setGraphic(new ImageView(image)); hlink.setFocusTraversable(false); Tab tab = new Tab(); tab.setGraphic(hlink); hlink.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { //Do somthing } });
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
와이즈 비즈 Java 8 구현에는
Tab
가 있습니다. 탭 닫힘을 방지 할 수있는 속성 :