Hallo innebg,
es sollte funktionieren, wenn dem Lable mit setBackground(color) oder setForeground(color) die aus dem Dialog erhaltene Farbe gesetzt wird.
Hier mein Beispiel:
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
public class MyLabel extends JLabel
implements ActionListener
{
private static final long serialVersionUID = 1L;
public static void main(String[] args)
{
MyLabel l = new MyLabel();
l.setText(„my new MyLabel“);
l.setHorizontalAlignment(SwingConstants.CENTER);
JButton b = new JButton(„Choose color“);
b.addActionListener(l);
final Frame f = new Frame(„wer-weiss-was“);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
f.dispose();
}
});
f.setLayout(new BorderLayout());
f.add(l, BorderLayout.CENTER);
f.add(b, BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
}
public void actionPerformed(ActionEvent a)
{
this.setForeground(JColorChooser.showDialog(this, „Choose color“, this.getForeground()));
};
}
Johannes