【问题标题】:How can I change JList d'n'd target indicator如何更改 JList d'n'd 目标指标
【发布时间】:2010-05-26 14:17:14
【问题描述】:

我有水平的 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);

【问题讨论】:

  • 也许您可以向我们展示您当前的源代码,以便我们可以推断您描述的问题。一些屏幕截图也可能会有所帮助,因为正如您所描述的那样,您的问题不是很清楚......
  • 我添加了源代码。现在无法添加屏幕截图。

标签: java swing jlist drag-and-drop


【解决方案1】:

如果您想在列表(或表格)中插入一行,水平线是常用的图形元素。我不会改变它并遵守约定。

如果它是垂直的 - 你到底想要它在哪里?在列表条目的开头?但是,如果将删除的元素插入“标记”行之前或之后,就不清楚了。

【讨论】:

  • 我有横向列表。它是包含元素的一行。我将元素向左或向右移动(不是向上或向下)。所以垂直线将显示拖动元素的位置。
  • 感谢您的澄清!我对 JList 的经验相当有限,但我担心您需要一个不同的数据容器,可以水平调整大小的容器。
【解决方案2】:

我在 forum.sources 上问过这个问题。 ru 并得到了很好的解决方案。

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

【讨论】:

    猜你喜欢
    • 2011-11-26
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    相关资源
    最近更新 更多