当前位置: 首页 > 知识库问答 >
问题:

如何为java.util.list的数组列表添加侦听器

高展
2023-03-14

我已经创建了一个数组列表,当使用鼠标按下事件选择列表项时,必须为其添加一个侦听器,以便如何做到这一点。我为其创建了数组列表ia的代码,如下所示

final java.util.List<Object> listSort = new ArrayList<>();
for(String key: descriptionMappernewer.keySet())
    listSort.add(key);

final MyFilter filter = new MyFilter();

final ListViewer viewer = new ListViewer(this);
//viewer.getList();
viewer.getList().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
//viewer.getList();
viewer.setContentProvider(new ArrayContentProvider());
viewer.setInput(listSort); 

现在我需要为它添加鼠标向下事件监听器。之前我编写了SWT的鼠标事件监听器,但现在必须更改。早期的SWT监听器如下所示

list.addListener(SWT.Selection, new Listener(){
      public void handleEvent(Event e) {
          int index =  list.getSelectionIndex();
          txtMethodDescription.setText(descriptionMappernewer.get( list.getItem(index)));
      }
});

因此,请帮助我如何将侦听器添加到java.util.list的数组列表中

共有1个答案

牧飞鹏
2023-03-14

列表不是用户界面对象,不支持侦听器。

代码中的用户交互界面对象是ListViewer。由于这是一个JFace对象,它使用addSelectionListener进行选择:

viewer.addSelectionChangedListener(new ISelectionChangedListener()
  {
    @Override
    public void selectionChanged(final SelectionChangedEvent event)
    {
      IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();

      txtMethodDescription.setText(descriptionMappernewer.get(selection.getFirstElement())));
    }
  });
 类似资料:
  • 问题内容: 我有一个我想在其中的文本更改时调用一个函数。 我怎么做? 问题答案: Java跟踪JTextField文本内容变化的适当侦听器是DocumentListener,您必须将其添加到JTextField的文档中:

  • 我想在Sokoban游戏中保存我的玩家角色的步骤。首先我想用字符的实际位置填充一个int x和y的数组,称为“pos”。然后我想将这个数组添加到数组的ArrayList中,称为“moves”。 一个玩家位置的阵列: ArrayList为所有步骤,玩家在关卡: 如果将“int[]”放在ArrayList的尖括号内,则会出错。 如何将阵列位置添加到ArrayList移动?

  • 是否有办法将AWT侦听器添加到SWT组件? 我以前制作了一个主要在AWT和Swing组件中运行的应用程序。现在,我有热键功能,它依赖于一个定制的库,该库监听全局键事件并返回相应的AWT键代码。 当我改变整个应用程序并使用SWT组件时,我的问题就出现了。正如我们所知,一些键现在返回一个不同的键代码,这扰乱了整个热键功能。 我想到的最初解决方案是: A.使用javax。摆动jtextfield作为my

  • 我想在Java中添加一个按钮侦听器,这样当用户只需按下按钮时,按钮就会被按下。 我尝试将此操作监听器添加到我创建的按钮: 这就是整个功能: 然而,当我的gui出现时,我在输入输入后按“回车”键,什么也没有发生。我必须亲自点击按钮,这正是我试图避免的! 这是我创建的窗口: 我希望用户输入一个数字,然后按enter键,然后单击按钮。帮助我做错了什么?

  • 问题内容: 我有一个简单的GUI: 我想打印出此消息: 当GUI关闭时(按X时)。我怎样才能做到这一点? 问题答案: 试试这个。

  • 问题内容: 我有一个ArrayList,它向其中动态添加了一些对象,并且有一个JButton。运行我的程序时ArrayList为空,并且JButton设置为setEnabled(false)。我想在ArrayList中有2个或更多元素时启用我的按钮,如果ArrayList有一项或为空则再次禁用它。我该如何实现? 问题答案: 没有任何种类的通知机制。 我建议您编写自己的实现,该实现将委托给私有的实现