gpt4 book ai didi

java - 如何使用 Action 监听器从按钮获取背景颜色

转载 作者:行者123 更新时间:2023-12-01 19:41:48 26 4
gpt4 key购买 nike

我正在尝试使用 java GUI 组件制作像 lite-bright 这样的游戏。我被困在这里,当某个 Action 发生时,如何获取按钮的背景颜色?在JAVA API中有像JButton.getBackground()这样的方法。

在我的程序中,当我单击按钮时,我想要该单击按钮的背景颜色,并且我想在特定位置绘制该颜色的椭圆形。

这是我的代码

/**
* Action Listener for Buttons
*/
class ButtonAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
setColor(getBackground()); // here i want to get background color as light blue.
}
}

b1 = new JButton("o");
Color c1 = new Color(100,255,255);// this is light blue color
b1.setBackground(c1);

ActionListener listener = new ButtonAction();
b1.addActionListener(listener);

/**
* this method will set vakue of the color and that color will use to draw oval
* filled with that color.
*/
public void setColor(Color C) {
this.c = C;
}

最佳答案

您需要通过在 ActionListener 的 ActionEvent 参数上调用 .getSource() 来按下按钮:

class ButtonAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
// get the button that was pressed
AbstractButton button = (AbstractButton) e.getSource();

// get its background Color
Color color = button.getBackground();

// TODO: do what you want with the color
}
}

关于java - 如何使用 Action 监听器从按钮获取背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55131623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com