0

我是 Scout 的新手,我想将鼠标侦听器添加到 Button,这样我就可以实现右键单击按钮。

我知道有 MouseListener 对象:

MouseListener mouseListener = new MouseListener() {

  @Override
  public void mouseReleased(MouseEvent e) {
    // TODO Auto-generated method stub

  }

  @Override
  public void mousePressed(MouseEvent e) {
    // TODO Auto-generated method stub

  }

  @Override
  public void mouseExited(MouseEvent e) {
    // TODO Auto-generated method stub

  }

  @Override
  public void mouseEntered(MouseEvent e) {
    // TODO Auto-generated method stub

  }

  @Override
  public void mouseClicked(MouseEvent e) {
    // TODO Auto-generated method stub

  }
};

但是如何将它添加到按钮?

我找到功能

addButtonListener(listener);

但是 mouselistener 不是按钮侦听器的类(但两者都是从 EventListener 扩展的)

4

1 回答 1

1

Eclipse Scout 背后的一个重要概念是UI 和 GUI 的分离。您无需针对 SWT 之类的 GUI 库进行编程,而是定义包含字段的表单。这代表了您的应用程序的一种模型。该模型使用不同的技术(SWT、Swing 和Eclipse RAP来创建 Web 应用程序)呈现。

这种方法的代价是模型层没有每个图形库提供的可能性那么多。模型层专注于业务应用程序(通常基于表单)所必需的内容。

这就是为什么您不能将 SWT 或 SwingMouseListener直接注册到 Scout 模型的原因。如果你真的需要朝这个方向发展,扩展 Scout 模型可能是一个好方法。(参见这个最近的例子:Scout tables with fixed columns,它涉及 web-ui 域)

这种方法的优点是当底层技术(图形库、Eclipse 平台……)发生变化时,您不需要重写您的应用程序。当您处理具有较长生命周期(如 10 年以上)的应用程序时,这一点很重要。


童军论坛上的重复帖子

于 2014-07-15T09:35:41.513 回答