import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import javax.swing.*;
import java.awt.event.*;
public class CursorClass implements ActionListener{
JButton btn;
JFrame frame;
public static void main(String[] args) {
CursorClass cc = new CursorClass();
cc.launchButton();
}
public void launchButton(){
frame = new JFrame("Main Window");
frame.setSize(400, 400);
btn = new JButton("Close Main Window");
btn.setSize(100,100);
btn.addActionListener(this); // <--------
JPanel pnl = new JPanel();
pnl.add(btn);
frame.add(pnl);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent event){
System.out.print("Exiting..");
System.exit(0);
}
}
正如您在 launchButton
方法中所看到的.. btn.addActionListener(this)
函数..
什么是this
?指的是?
它是指整个 CursorClass
吗?
我在这里有点困惑。我无法理解传递给按钮对象的内容。我知道我向它添加了 ActionListener .. 现在按钮(它是事件源)将在单击时响应按钮但在该方法中添加 this
..我无法看看 this
是什么。我知道最常见的答案是 this
指的是当前对象,等等。
但是我需要一些更具体的东西。我写的这个类是否被认为是 this
?
最佳答案
你的 CursorClass
工具 ActionListener
. this
指的是 CursorClass
的当前实例.本质上,代码将自身(“this”对象)添加为 Action 监听器。
它引用 CursorClass
实例的原因是因为它是从 launchButton
调用的,这是 CursorClass
中的一种方法.
关于java - 我的代码中的 'this' 关键字指的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16491318/