Как я могу изменить целевой индикатор JList d'n'd - PullRequest
0 голосов
/ 26 мая 2010

У меня есть горизонтальный JList. Когда пользователь перетаскивает элемент из этого списка, есть индикатор, где будет перетаскиваемый элемент, когда он будет перетащен. Но этот индикатор является горизонтальным и отображается над или под элементами списка. Так как я могу это изменить? Я хочу, чтобы это было вертикально.

Список создания кода:

DefaultListModel model = new DefaultListModel();
// I fill up model with data from DB

list = new JList(model);
list.setName(rs.getString(1));
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

// Next to rows make JList horizontal
list.setLayoutOrientation(JList.VERTICAL_WRAP);
list.setVisibleRowCount(1);

// Add d'n'd
list.setTransferHandler(listHandler);
list.setDragEnabled(true);
list.setDropMode(DropMode.INSERT);

Ответы [ 2 ]

1 голос
/ 26 мая 2010

Горизонтальная линия - это обычный графический элемент, если вы хотите вставить строку в список (или таблицу). Я бы не стал его менять и придерживался соглашений.

Если он вертикальный - где именно он вам нужен? В начале записи списка? Но тогда было бы непонятно, будет ли добавленный элемент вставлен до или после «отмеченной» строки.

0 голосов
/ 04 июня 2010

Я задал этот вопрос на forum.sources. ru и получил решение, которое хорошо работает.

http://forum.sources.ru/index.php?showtopic=304640

...