检测点击不起作用

时间:2017-04-08 04:53:14

标签: java swing label mouselistener

所以,我一直在使用JFrame执行此代码,我必须将标签前景颜色更改为从jcolorchooser中选择的颜色,首先我尝试使用colorchooser元素中的“Mouseclicked”事件并且没有成功工作,我想我知道为什么,但我不确定所以让我们把它留在“它不能正常工作”,我一直在尝试其他选择,我最终得到了一个我认为可能是最有效的,实施mouselistener但我认为我没有使用它,因为我应该因为它不起作用而且现在我真的很累,所以你能帮我一个人吗?这是代码:

public class dieztres extends javax.swing.JFrame implements MouseListener{

@Override
public void mouseClicked(MouseEvent e) {
    mylabel.setForeground(mycolorchooser.getSelectionModel().getSelectedColor());
}

@Override
public void mousePressed(MouseEvent e) {}

@Override
public void mouseReleased(MouseEvent e) {}

@Override
public void mouseEntered(MouseEvent e) {}

@Override
public void mouseExited(MouseEvent e) {}                 

}

让一切都无用(如自动生成的代码),这是重要的部分,如果这是基本的东西,我想道歉,我是这个领域的新人。

2 个答案:

答案 0 :(得分:1)

实施MouseListener是不够的。您还必须使用Component注册课程。 JFrameComponent,您的类是JFrame,所以只需将this.addMouseListener(this)放在方便的地方,例如构造函数方法。

答案 1 :(得分:1)

首先看一下How to Use Color Choosers,了解如何解决问题......

直接来自教程...

tcc.getSelectionModel().addChangeListener(this);
. . .
public void stateChanged(ChangeEvent e) {
    Color newColor = tcc.getColor();
    banner.setForeground(newColor);
}

确保使用可用的教程并在遇到问题时咨询JavaDocs,他们通常会针对更常见的问题提供解决方案