所以,我一直在使用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) {}
}
让一切都无用(如自动生成的代码),这是重要的部分,如果这是基本的东西,我想道歉,我是这个领域的新人。
答案 0 :(得分:1)
实施MouseListener
是不够的。您还必须使用Component
注册课程。 JFrame
是Component
,您的类是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,他们通常会针对更常见的问题提供解决方案