Как установить ширину первого столбца в GWT CellBrowser - PullRequest
0 голосов
/ 02 марта 2011

Существует ошибка, препятствующая настройке ширины первого столбца виджета CellBrowser.Существует также обходной путь, объясненный здесь

http://groups.google.com/group/google-web-toolkit/browse_thread/thread/4fc39b5805833ea2

Очевидно, это работает, но кто-нибудь может объяснить, как создать подкласс CellBrowser, чтобы он работал?Пожалуйста, покажите мне код.

1 Ответ

0 голосов
/ 11 ноября 2011
    CellBrowser cellBrowser = new CellBrowser(model, null) {

        // HACK: workaround for setDefaultColumnWidth not setting the width of the first column!
        // SEE: https://groups.google.com/forum/?pli=1#!topic/google-web-toolkit/T8Ob...

        public void setDefaultColumnWidth(int width) {
            super.setDefaultColumnWidth(width);
             SplitLayoutPanel splitPanel =  (SplitLayoutPanel) getWidget();
             splitPanel.setWidgetSize(splitPanel.getWidget(0), width);
        }
    };

    cellBrowser.setDefaultColumnWidth(300);   

Если вы хотите повторно использовать класс с этим исправлением в (что, вероятно, было бы хорошей идеей), достаточно просто преобразовать этот анонимный подкласс в обычный подкласс:

    public class FixedCellBrowser<T> extends CellBrowser<T> {

        public FixedCellBrowser(TreeViewModel model, T root) {
            super(model, root);
        }

        public void setDefaultColumnWidth(int width) {
            super.setDefaultColumnWidth(width);
             SplitLayoutPanel splitPanel =  (SplitLayoutPanel) getWidget();
             splitPanel.setWidgetSize(splitPanel.getWidget(0), width);
        }
    }

(Примечание: я не пробовал компилировать этот код.)

...