当前位置: 首页 > 面试题库 >

在Mouse Up的SWT列表中获取该项目

扶誉
2023-03-14
问题内容

我想知道是否有可能将鼠标悬停在列表中?我在线搜索,找到了许多使用X和Y坐标的SWT表示例,但没有使用列表的示例。我基本上要做的是实现一个列表,通过拖放可以更改项目的顺序。为此,我需要将物品放置在放置位置下,以便可以将其与拖动的物品交换。


问题答案:

List#getItemHeight()返回一个项目占用的区域的高度。有了这些信息,getTopIndex()您应该能够在给定的x和y坐标下计算项目。

list.addListener( SWT.MouseDown, new Listener() {
  @Override
  public void handleEvent( Event event ) {
    int itemTop = 0;
    for( int i = 0; i < list.getItemCount(); i++ ) {
      if( event.y >= itemTop && event.y <= itemTop + list.getItemHeight() ) {
        System.out.println( "Click on item " + list.getItem( list.getTopIndex()  + i ) );
      }
      itemTop += list.getItemHeight();
    }
  }
} );

或者,您可以使用单setHeaderVisible( false )列表来模拟列表小部件。该表格提供了更好的拖放支持。



 类似资料:
  • 问题内容: 我有一个看起来像这样的列表列表: 删除重复列表的最佳方法是什么?使用上面的示例,我正在寻找会产生这种情况的代码: 我最初以为我可以使用,但这似乎不适用于列表列表。我还看到了一个使用的示例,但是代码对我来说并不完全清楚。谢谢您的帮助! 问题答案: uniq_animal_groups = set(map(tuple, animal_groups)) 尽管您将得到一组元组而不是一组列表,但

  • 我有一个方法返回一个

  • 问题内容: 我正在尝试在我正在开发的Eclipse RCP应用程序中添加RadioGroupFieldEditor,但似乎无法做两件事: 设置单选按钮的值(例如,打开对话框/窗口时,我想例如将默认值设置为“ button1”) 获取所选单选按钮的当前值(即用户选择的值,或者如果未设置任何内容,则设置为上面的默认值)。 我使用的代码如下: 我有一个fireValueChanged()方法,我可以使用

  • 问题内容: 我有一个带有组合框的UI。每次组合将要打开列表时,必须刷新可以选择的项目列表。 有什么办法-即添加一个侦听器,该侦听器将通知UI Combo即将打开? 不幸的是,当列表更改时,我无法观察模型来更新列表。 问题答案: 不幸的是,SWT组件没有这种方法。在Swing中,借助于PopupMenuListener接口将很容易。 我可以想到的一种解决方法是实现MouseListener和Keyb

  • 问题内容: 我在页面上有一些循环,需要根据循环号列出项目。 当我打电话时: 一切正常,但是我真正需要的是: MyCustomRangeTag给了我它可以使用的Python ,而我已经拥有了数量。根据循环号,1、2、3等也是如此。这有可能吗? 问题答案: 这不可能直接实现,因为Django认为这是查找的关键-而不是x 的值。因此,当尝试查找而不是。 使用以下过滤器作为解决方法: 并像这样使用

  • 问题内容: 我需要列表的最后9个数字,而且我敢肯定有一种切片方法,但是我似乎无法理解。我可以这样获得前9个: 问题答案: 您可以在切片运算符中使用负整数。这是使用python CLI解释器的示例: 重要的是