Trong trình duyệt hiện đại, bạn có thể giải quyết điều này một cách độc lập với GWT. Dễ dàng hơn và sạch hơn. Chỉ cần sử dụng thuộc tính CSS3 resize
và chỉ định giá trị overflow
khác với giá trị mặc định (visible
).
Lưu ý rằng bạn có thể muốn ghi đè thuộc tính resize
cho các phần tử con để chúng không thừa kế tất cả các nút điều chỉnh kích thước.
Trong trường hợp của tôi, tôi có một cái gì đó như thế này trong tập tin .ui.xml
tôi:
<g:HTMLPanel addStyleNames="myTableContainer">
<g:ScrollPanel>
<g:FlexTable ui:field="myTable"></g:FlexTable>
</g:ScrollPanel>
</g:HTMLPanel>
Và một cái gì đó như thế này trong stylesheet của tôi (GWT cho biết thêm một số divs thêm, vì vậy bạn có thể cần phải điều chỉnh bộ chọn để làm việc cho bạn trường hợp):
.myTableContainer div {
resize: vertical;
overflow: auto;
}
.myTableContainer div div {
resize: none;
overflow: visible;
}
Điều này cho phép FlexTable
một tay cầm thay đổi kích thước của tôi ở góc dưới bên phải, như thế này:
Người dùng có thể kéo tay cầm xuống để đổi kích thước theo chiều dọc bảng điều khiển chứa FlexTable
của mình. Tất nhiên, thay vì vertical
, bạn cũng có thể cho phép thay đổi kích thước thành horizontal
hoặc both
.
Nếu bạn thích làm mọi thứ theo cách lập trình theo cách UiBinder, tôi chắc chắn bạn có thể điều chỉnh nó bằng cách thêm các kiểu thích hợp vào các phần tử của bạn trong mã.
Nhược điểm? Không hoạt động trong IE/Edge (hey, tôi đã nói hiện đại trình duyệt ... và CSS3), nhưng trong most others.
Nguồn
2016-02-19 01:43:49
Tôi không sử dụng gwt-ext, chỉ cần gwt là cách của tôi, tôi nghĩ rằng thao tác dom có thể làm điều đó –