gpt4 book ai didi

java - "this"指向哪个对象?

转载 作者:行者123 更新时间:2023-11-30 04:04:55 26 4
gpt4 key购买 nike

我正在第一次体验 java swing 以及一般的 java。有人可以告诉我“this.button1”(例如)指向哪个对象吗?有没有可能取代“这个”?我已经读到“this”指向一个实际的对象,但是在这个上下文中它是哪个?

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;


public class BeispielListener extends JFrame implements ActionListener
{
JButton button1;
JButton button2;
JButton button3;
JLabel label;
JPanel panel;

public BeispielListener(){
this.setTitle("ActionListener Beispiel");
this.setSize(400, 200);
panel = new JPanel();

// Leeres JLabel-Objekt wird erzeugt
label = new JLabel();

//Drei Buttons werden erstellt
button1 = new JButton("Button 1");
button2 = new JButton ("Button 2");
button3 = new JButton ("Button 3");

//Buttons werden dem Listener zugeordnet
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);

//Buttons werden dem JPanel hinzugefügt
panel.add(button1);
panel.add(button2);
panel.add(button3);

//JLabel wird dem Panel hinzugefügt
panel.add(label);
this.add(panel);
}

public static void main(String[] args)
{
// Ein neues Objekt der Klasse BeispielListener wird erzeugt
// und sichtbar gemacht
BeispielListener bl = new BeispielListener();
bl.setVisible(true);
}

public void actionPerformed (ActionEvent ae){
// Die Quelle wird mit getSource() abgefragt und mit den
// Buttons abgeglichen. Wenn die Quelle des ActionEvents einer
// der Buttons ist, wird der Text des JLabels entsprechend geändert
if(ae.getSource() == this.button1){
label.setText(("Button 1 wurde betätigt"));
}
else if(ae.getSource() == this.button2){
label.setText("Button 2 wurde betätigt");
}
else if (ae.getSource() == this.button3){
label.setText(("Button 3 wurde betätigt"));
}
}
}

谢谢!

最佳答案

this 指向您当前正在使用的对象。因此,在您的代码中,它指向 BeispielListener 实例。

关于java - "this"指向哪个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20994668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com