gpt4 book ai didi

java - 如何将事件添加到复选框?

转载 作者:行者123 更新时间:2023-11-29 08:06:32 25 4
gpt4 key购买 nike

我尝试绘制一些形状,我需要添加变化的颜色作为选择复选框的事件。如何编写在我选中复选框时改变颜色 tmp 的新方法?

我创建 JCheckBox 的方法:

public class Paint extends JFrame {
public Paint() {

JCheckBox redBtn = new JCheckBox("Red");

}

绘制矩形颜色的方法:

private class PaintSurface extends JComponent {
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
Color tmp = null; //If no checkbox selected, no color

for (Shape s : shapes)
g2.setPaint(tmp); //Here is color of shape
g2.fill(s);
}
}

编辑:

ActionListener 应该是这样的?

ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
JCheckBox a = (JCheckBox) actionEvent.getSource();
Color tmp = redBtn.isSelected() ? Color.RED : null;
}
};

最佳答案

您可以向 JCheckBox 添加一个 ActionListener,它只需在绘图 JComponent 上调用 repaint()。然后在 paintComponent 中,通过调用 isSelected() 来检查复选框的状态,并将您的 Color 基于 boolean 结果。

Color tmp = redBtn.isSelected() ? SELECTED_COLOR : null;

关于java - 如何将事件添加到复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10857498/

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