public class Borrow1 extends ***{ 一个方法中定义了一个Text,然后注册该text的modify事件: text = new Text(composite, SWT.BORDER); text.setBounds(0, 0, 76, 21); text.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { // 把数据存在自己手里,对外提供get API //username = ((Text) e.getSource()).getText(); // 把数据统一交给wizard里面的通用存储器DialogSettings来存值储 //MyWizardPage1.this.getWizard().getDialogSettings().put("用户名", ((Text) e.getSource()).getText()); // 因为模型改变了,所以要及时更改界面 Borrow1.this.getContainer().updateButtons(); } }); }
这里内部匿名类需要用上层类Borrow1的方法getContainer(),怎么用,我之前一直很苦恼,现在貌似有两种方法:
1. 如上所示,使用类名.this.调用对象和方法,如:
Borrow1.this.getContainer().updateButtons();
2. 对上层类的对象有用,对方法不清楚。如果是要用上层类中的对象,可以将对象定义时修饰符加上final,这样就可以用了。
但是这样做有局限性,个人觉得第一种方法好。
相关推荐
以上是对给定文件中的知识点进行的详细解析,涵盖了匿名内部类、MVC设计模式、WebService、Java的`goto`保留关键字以及中间件的概念和作用,旨在帮助Java软件工程师在面试或笔试前做好充分准备。
- **变量与数据类型**:了解Java中的基本数据类型(如`int`、`double`、`boolean`等)及其对应的包装类,以及如何声明和初始化变量。 - **运算符**:掌握算术运算符、关系运算符、逻辑运算符、位运算符以及赋值...
10. Java中的关键字与保留字:Java不支持goto关键字,尽管它是保留字,但无法在代码中使用。 11. length与length():数组的长度是通过length属性获取,而字符串的长度是通过length()方法获得。 12. 重载与覆盖...
在Java中可以通过实现`Runnable`接口或继承`Thread`类来创建线程。 - **实现Runnable接口**:适合需要多个不同线程共享同一实例的情况。 - **继承Thread类**:可以直接定义线程行为,但不建议过多使用,因为Java不...
- **匿名内部类**:没有名字的内部类,直接实例化使用。 - **类本身**:当前类实现监听器接口。 - **顶级类**:独立的类实现监听器接口。 - **标签属性**:XML布局文件中直接绑定事件处理。 - **基本组件的常用...
11.4 框架--上层的Window对象 11.4.1 多框架应用 11.4.2 框架之间的关系 11.4.3 框架的命名 11.4.4 子框架中的JavaScript 11.4.5 框架的应用--多页签显示 11.4.5.1 什么是页签 11.4....
3. **事件监听**:在Android中,为了响应用户交互,我们经常使用匿名内部类来实现各种监听器,如OnClickListener、OnCheckedChangeListener等,这样可以快速创建并设置事件处理器。 4. **访问限制**:内部类可以...
Scala是一种多范式编程语言,它融合了面向对象和函数式编程的概念,使其在现代软件开发中具有广泛的应用。以下是对Scala的一些关键知识点的详细解释: 1. **基础语法**:Scala的基础语法包括常量(如`val`声明的不...
此表达式中`null == undefined`为真,而`Object.prototype`为对象,与布尔值进行逻辑运算时总是转换为`true`,故整个表达式为真。 - b. `[1,2,3].splice(1,1,1)`方法修改数组并在原数组上操作,返回被删除的元素,...
- **类(Class)**:Objective-C中的所有对象都是类的实例。类定义了对象的属性(实例变量)和行为(方法)。 - **对象(Object)**:通过类创建的对象,具有类定义的属性和行为。 - **继承(Inheritance)**:子类可以...