gpt4 book ai didi

java - 使用 JColorChooser 更改 JPanel 颜色

转载 作者:行者123 更新时间:2023-12-01 20:00:05 27 4
gpt4 key购买 nike

我尝试在按下“应用”按钮时使用 JColorChooser 更改 JPanel 的颜色,但我不确定如何实际更改颜色。我该怎么做?

private class SetColorAction implements ActionListener{

@Override
public void actionPerformed(ActionEvent e) {
setColor(DrawnView.colorChooser.getColor());
//Color color;

}

}

^ 是类(class)中的一个,而下面的内容是在不同的类(class)中

public void setColor(Color color){
this.setBackground(color);


}
public ViewUserActions() {

this.applyColorBtn.setVisible(false);
this.discardChangesBtn.setVisible(false);

this.editBtn.addActionListener((ActionEvent ae) -> {
if (this.editBtn.isSelected()) {

this.applyColorBtn.setVisible(true);
this.discardChangesBtn.setVisible(true);
} else {

this.applyColorBtn.setVisible(false);
this.discardChangesBtn.setVisible(false);
}
});



this.applyColorBtn.addActionListener(new SetColorAction());
this.discardChangesBtn.addActionListener(new SetColorAction());
this.applyColorBtn.addActionListener(new GetInfoAction());
this.discardChangesBtn.addActionListener(new GetInfoAction());


}

最佳答案

这是一个通过单击按钮更改 JPanel 背景颜色的简短演示。
该凸轮还可以让您了解mcve ,仅此而已:

import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Frame extends JFrame {

JPanel panel;
Color[] colors = new Color[] {Color.YELLOW, Color.CYAN, Color.LIGHT_GRAY, Color.WHITE};
int counter =0;

Frame() {

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

JButton button = new JButton("Change color");
button.addActionListener( ae -> setColor());
add(button, BorderLayout.NORTH);

panel = new JPanel();
panel.add(new JLabel ("Test panel"));
add(panel, BorderLayout.CENTER);

pack();
setVisible(true);
}

private void setColor() {
panel.setBackground(colors[counter++]);
counter = (counter >= colors.length) ? 0 : counter;
}

public static void main(String[] args) {
new Frame();
}
}

关于java - 使用 JColorChooser 更改 JPanel 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48311038/

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