2014-12-07 11 views
7

Tôi có một ngăn phân tách được tạo từ FXML bao gồm ba khung từ trái sang phải. Tôi muốn để có thể ẩn các cửa sổ bên phải, nhưng tôi không thể tìm thấy bất cứ điều gì để ẩn nó. Nếu tôi bật chế độ hiển thị, nó sẽ ẩn nội dung ngăn. Những gì tôi muốn là tạm thời ẩn nó, do đó, cửa sổ được loại bỏ trực quan.JavaFX 8, cách ẩn một ngăn trong Splitpane?

Là giải pháp tạm thời, tôi di chuyển bộ chia đến 100%, nhưng điều này sẽ khiến bộ chia hiển thị. Một tác dụng phụ khác là nếu tôi thay đổi kích thước cửa sổ chính, bộ chia không ở vị trí ngoài cùng bên phải.

Bất kỳ mẹo nào để ẩn một ngăn trong ngăn xếp?

Hoặc bất kỳ mẹo nào về cách tốt nhất để đạt được điều này mà không có phân tách (ngăn bên phải bên phải cần phải thay đổi kích thước khi không bị ẩn). gợi ý chung để các kỹ thuật/container sẽ được đánh giá kể từ khi tôi mới vào Java/JavaFX nhưng không phải để lập trình :)


Trả lời

12

Có vẻ tôi đã tìm thấy nó, thậm chí nghĩ rằng nó không phải là một ẩn/hiển thị thỏa thuận đồng bằng. Splitpane của tôi được đặt tên là "mainSplitPane", và cái tôi muốn ẩn/hiển thị là phần thứ ba. Khi khởi tạo bộ điều khiển, tôi lấy khung thứ ba và lưu nó trong "componentsPane".

khai báo trong controllerclass:

Node componentsPane; 

gọi trong phương thức khởi của controllerclass:

componentsPane=mainSplitPane.getItems().get(2); 

Mã để ẩn:

mainSplitPane.getItems().remove(componentsPane); 

Và mã để hiển thị:

mainSplitPane.getItems().add(2, componentsPane); 
mainSplitPane.setDividerPosition(1, 0.8); 

Một tác dụng phụ là tôi phải thiết dividerposition kể từ khi nó được gỡ bỏ.

+0

Bất kỳ phương pháp/con trỏ/mẹo nào khác? – Backtomusic

Các vấn đề liên quan