我有很多按钮,它们应该以相同的方式起作用,但在按下时更改链接到按钮的不同变量(主要是颜色)。我想尽可能减少代码(并且不要输入相同的东西10次)。
我如何编写这个适配器,以便它可以用于button1,以及button2?
MouseAdapter customMouseAdapter = new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
button1.setForeground(Color.WHITE);
}
};
button1.addMouseListener(customMouseAdapter);
button2.addMouseListener(customMouseAdapter);
答案 0 :(得分:0)
你可以这样做。
inspect
或者您可以像其他建议一样执行此操作
public class ColourMouseAdapter extends MouseAdapter
{
private final Color colour;
private final JButton button;
public ColourMouseAdapter(JButton button, Color colour)
{
this.colour = colour;
this.button = button;
}
@Override
public void mouseClicked(MouseEvent e)
{
button.setForeground(colour);
}
}
JButton jbutton = new JButton();
jButton.addMouseListener(new ColourMouseAdapter(jbutton, Color.WHITE));