Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 鼠标不工作_Java_Swing_Mouselistener - Fatal编程技术网

Java 鼠标不工作

Java 鼠标不工作,java,swing,mouselistener,Java,Swing,Mouselistener,我有一个由5个JLabel对象组成的数组,我在所有对象中添加了鼠标侦听器,在mouseenterned()函数中,我正在使标签不透明(true)以更改其背景色,但此代码工作不正常,请帮助 import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import

我有一个由5个
JLabel
对象组成的数组,我在所有对象中添加了鼠标侦听器,在
mouseenterned()
函数中,我正在使标签不透明(true)以更改其背景色,但此代码工作不正常,请帮助

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class A extends MouseAdapter {
    JFrame frame = new JFrame();
    JLabel label[] = new JLabel[5];

    A() {
        frame.setSize(500,500);
        frame.setLayout(new FlowLayout());
        for(int i=0; i<5; i++) {
            label[i] = new JLabel("LABEL: "+i);
            label[i].setBackground(Color.BLACK);
            label[i].addMouseListener(this);
            frame.add(label[i]);
        }
        frame.setVisible(true);
    }

    public static void main(String arg[]) {
                new A();
    }

    @Override
    public void mouseEntered(MouseEvent entered) {
        if(entered.getSource().equals(label))
            ((JLabel)entered.getComponent()).setOpaque(true);
    }
}
导入java.awt.Color;
导入java.awt.FlowLayout;
导入java.awt.event.MouseAdapter;
导入java.awt.event.MouseEvent;
导入javax.swing.JFrame;
导入javax.swing.JLabel;
公共A类扩展MouseApter{
JFrame=新JFrame();
JLabel标签[]=新JLabel[5];
(){
框架。设置尺寸(500500);
frame.setLayout(新的FlowLayout());

对于(int i=0;i而言,可能的原因是
if(entered.getSource().equals(label))

事件的源永远不会是
标签
数组,而是它的元素之一。如果(entered.getSource()instanceof JLabel)


在更改标签的不透明度属性后,您还需要
entered.getComponent().repaint();
,如果您具体解释当前发生的情况,而不是说它“不起作用”,则更有可能获得有用的帮助。