我需要在我的讲师的前言下,不要让我们使用IDE.我们使用TextPad.我想点击这个标签,然后从"H"变为"T".目前,当我点击标签什么也没做.我忘记了什么?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Lab3Label extends JLabel implements MouseListener {
int count = 0;
boolean flag = true;
public Lab3Label (int i) {
setLayout(new BorderLayout());
count = i;
this.setText("H");
this.setFont(new Font("Serif", Font.PLAIN, 60));
this.setBorder(BorderFactory.createLineBorder(Color.black));
}
public void mouseReleased(MouseEvent e)
{
if(flag){
this.setText("H");
flag = false;
}
else{
this.setText("T");
flag = true;
}
}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseMoved(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
}
Run Code Online (Sandbox Code Playgroud)
你的JLabel工具MouseListener,但你还需要告诉它JLabel发送事件给自己.在构造函数的最后你需要说
addMouseListener(this);
Run Code Online (Sandbox Code Playgroud)
如果你记得你可以把任何一个班级变成一个MouseListener,你就必须把你的听众连接到你的JLabel.事实上,这JLabel是自己的倾听者并不能免除你的责任.