鼠标适配器的范围

2023-12-21

我想知道在这种情况下 MouseAdapter 的范围是什么。

class foo extends JPanel()
{
  private JMenu edit = new JMenu();
  public foo()
  {
      this.edit.getItem(0).addMouseListener(new MouseAdapter(){ 
          @Override
          public void mouseClicked(MouseEvent e) {
              if (e.getClickCount() == 1) {
                  edit.getItem(0).setEnabled(true);
              }
          } 
      });
  }
}

我认为 MouseAdapter 可以访问该变量edit因为新声明的MouseAdapter是该类的内部类foo。但是,它找不到变量edit。如果我显式声明一个内部类并实现,例如 MouseAdapter 接口或其他接口,它可以检测到变量edit所以我的问题是范围是什么新的鼠标适配器()有?此外,有人知道这方面的好书吗?非常感谢。顺便说一句,我得到的错误是局部变量是从内部类访问的,需要将其声明为final


1) edit.getItem(0)返回拳头JMenuItem如果存在,否则返回IllegalArgumentException

2) this.edit.getItem(0),不是返回成员的类

3) edit.getItem(0).addMouseListener(new MouseAdapter(){会适得其反,因为JMenu, JMenuItem已实施MouseEvents正确,为了更好的解决方法,你必须看看ButtonModel

4)没有理由scope of the mouse adapter

5)用于监听事件JMenu (not JMenuItem) 看着MenuListener

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

鼠标适配器的范围 的相关文章

随机推荐

  • 如何将 Doctrine2 中的日期时间字段与日期进行比较?

    我想获取今天由 Doctrine2 中的 QueryBuilder 创建的项目 我想将createdAt Datetime 字段与today参数 Date 进行比较 是否可以在一个查询中做到这一点 qb this gt createQuer
  • 在 JavaScript 中扩展具有多个属性的对象

    我有一个具有多个属性和函数的全局 JavaScript 对象 我以这种方式创建它 myObject 我认为我可以通过创建类似的东西来轻松扩展这个对象 myObject propA1 null propAN null 代替 myObject
  • 如何在 TypeScript 中从 web.config 获取密钥?

    如何从 API 项目中的 web config 获取密钥到我的 TypeScript UI 项目中 我已经尝试过以下操作 但没有任何内容可以访问我可以告诉的配置文件 apiUrl string System Configuration Co
  • 无法通过 JRXmlLoader 加载位于 jar 文件中的 jrxml:获取 java.io.FileNotFoundException [重复]

    这个问题在这里已经有答案了 我在用着贾斯珀报告 in my Java应用 我有一个名为 reports 的包来存储生成的所有报告 这是我在应用程序中调用 jasper 报告的方式 JasperDesign jd JRXmlLoader lo
  • JDK/JRE 源代码与匹配的 JSSE (SSL) 源代码和匹配的可运行 JDK/JRE?

    我见过在哪里可以找到 Java 6 JSSE JCE 源代码 https stackoverflow com questions 87030 where to find java 6 jssejce source code我自己也问了这个问
  • 使用 INSERT...SELECT 返回的替代方法

    在这种情况下 涉及通过从另一个表复制一些列来插入到一个表中 并从该插入中返回生成的键 使用 Oracle 数据库 这基本上是本能地导致编写这个查询 INSERT INTO TBL XXX SELECT COLA COLB COLC FROM
  • 使两个并排 div 的高度相等

    所以我来自表格设计网页 我想尝试一下 div 和 CSS 所以我希望你能在这方面帮助我 情况 我目前有以下 div 结构 div div div div div div div div div style border top black
  • 使用 Laravel 计算页面浏览量

    我想在我的应用程序中实现页面查看计数器 到目前为止我所做的是使用这种方法 public function showpost titleslug post Post where titleslug titleslug gt firstOrFa
  • Python 查找重复项的方法

    有没有办法查找列表是否包含重复项 例如 list1 1 2 3 4 5 list2 1 1 2 3 4 5 list1 method False no duplicates list2 method True contains duplic
  • 加载了“ChatView”笔尖,但没有获得 UITableView。

    我有一个自定义 UITableViewController ChatView 它有一个 tableView 的输出 在界面生成器中 我已将笔尖中的 tableView 连接到插座 当视图加载时 我收到上述错误 该视图是通过选项卡控制器加载的
  • 重新发送 HttpRequestMessage - 异常

    我想多次发送完全相同的请求 例如 HttpClient client new HttpClient HttpRequestMessage req new HttpRequestMessage HttpMethod Get http exam
  • 多态递归 - 语法和用途?

    我花了很多时间查看 learnyouahaskell 但没有找到多态递归的良好解释 我了解基本的递归结构 myFunction Int gt Int myFunction myFunction x xs x gt x 1 x myFunct
  • 为什么 nlogn 这么难反转?

    假设我有一个空间要求为 nlogn 的函数 我想计算出给定可用空间的该函数的最大输入大小 即我想找到 n 其中 nlogn c 我跟着一种方法 http cs people bu edu lapets resource nlogn pdf计
  • 修复 div 上固定背景图像的滚动性能

    我正在尝试解决我的网站上的滚动性能问题 我有一些 div 元素background size cover and background attachment fixed 据我了解 这些都是 GPU 密集型的 我试图通过将背景图像设置为 di
  • 如何在 Android 中以编程方式获取当前 GPS 位置?

    我需要以编程方式使用 GPS 获取当前位置 我怎样才能实现它 我创建了一个小应用程序 其中包含分步说明 用于获取当前位置的 GPS 坐标 完整的示例源代码位于获取当前位置坐标 城市名称 在 Android 中 http www rdcwor
  • 如何在Hibernate中启用二级缓存

    我的应用程序中需要一些 pojo 对象 因此我想知道如何启用二级缓存 到目前为止默认启用一级缓存 我还想知道二级缓存有哪些优点和缺点 这是你需要做的 设置以下 Hibernate 属性
  • NodeJS 和树莓派

    我现在已经在 Raspberry Pi 上运行 Raspbian 我想为其制作一个控制面板 这样我就可以在网络浏览器中控制我的 Raspberry Pi 但是如何在 NodeJS 中执行命令呢 您可以使用此node js代码在树莓派上运行命
  • 两列串联后的 Django 查询集过滤器

    有没有办法使用两列的串联来过滤模型 我的模型是这样的 class Item models Model series models CharField max length 50 number models CharField max len
  • ListView 项目在 Xamarin Forms 中无法展开折叠高度

    我有一个列表视图 在 ListView 中我有 ListViewCell ListViewCell 具有展开 折叠功能 扩展崩溃行为几乎没有问题 1 如果我展开第一项 它就可以正常工作 但是如果我先展开第二项并展开第一项 则第一项会落后 请
  • 鼠标适配器的范围

    我想知道在这种情况下 MouseAdapter 的范围是什么 class foo extends JPanel private JMenu edit new JMenu public foo this edit getItem 0 addM