Ширина выбора TreeItem в TreeView

Я использую JavaFX 8 и в настоящее время занимаюсь некоторыми разработками графического интерфейса. У меня небольшая проблема с TreeView, и мне нужна ваша помощь.

Знаете ли вы, можно ли в TreeView выбрать только метку, а не всю ширину TreeCell?

Я имею в виду (пример Netbeans):

Хороший выбор TreeView

Вместо того :

Плохой выбор TreeView

Заранее спасибо.


person Jbprod    schedule 21.05.2014    source источник
comment
внешний вид может быть достигнут с помощью стиля (см. stackoverflow.com/q/28113294/203657 или, точнее, принятый ответ) - но это все равно оставляет ощущение открытым - требуется некоторая работа, чтобы игнорировать событие мыши за пределами метки   -  person kleopatra    schedule 26.01.2015


Ответы (1)


Попробуйте добавить метку внутри TreeCell.
например:

private static class YourItemCell extends TreeCell<YourItem>
{
    Label label;

    public YourItemCell()
    {
        label = new Label();
    }

    @Override
    protected void updateItem(YourItem item, boolean empty)
    {
        super.updateItem(item, empty);
        if (!empty && item != null)
        {
            label.setText(item.getText());
            setGraphic(label);
        }
    }
}

Если вы вернете ячейку с помощью метода TreeView.setCellFactory, ничего страшного.

person guest    schedule 19.02.2018