SWT Tree Item Высота - PullRequest
       2

SWT Tree Item Высота

4 голосов
/ 04 октября 2010

Возможно ли иметь дерево SWT с линиями разной высоты?

Manuel

Ответы [ 3 ]

3 голосов
/ 07 октября 2010

В дереве или таблице SWT элементы не могут иметь разную высоту.Если вам нужно сделать каждую строку с разной высотой, вы должны использовать собственный виджет, например KTable или сетка туманности .

0 голосов
/ 09 мая 2018

По крайней мере в Linux с GTK следующее значение TreeItem больше, чем у другого:

tree.addListener(SWT.MeasureItem, new Listener() {
    boolean first = true;

    public void handleEvent(Event event) {
        if (event.item instanceof TreeItem) {
            if (first) {
                event.height = event.height * 3;
                first = false;
            }
        }
    }
});

но кажется, что для элемента дерева минимальный размер, поэтому если попытаться установить значение меньше, это не имеет никакого эффекта.

0 голосов
/ 04 октября 2010

Ну, конечно, вы можете вызвать setFont() для рассматриваемого TreeItem и задать для него шрифт большего размера, чем тот, который используется другими строками TreeItem. Однако это может быть не то, что вам нужно ... иметь несколько размеров шрифта в Tree.

Второй более хакерской альтернативой может быть использование метода setImage() для TreeItem ... установка белого (или любого другого) фонового изображения для каждой строки, причем более высокие строки используют изображение большего размера, чем более короткие ряды.

Этот второй подход даст вам настраиваемую высоту строки без изменения шрифтов, хотя вы должны быть уверены, что выбрали фоновое изображение того же цвета, что и системный цвет фона по умолчанию. Возможно, вы могли бы даже создать свои Image объекты программно в памяти, чтобы обеспечить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...