Aparentemente, o JColorChooser é MVC, mas no exemplo abaixo a interface não reage à mudanças no modelo.. Alguém tem algum dica do porquê ?

 
 
 import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.colorchooser.*;
 
public class Test extends JFrame implements ActionListener {
 private JColorChooser chooser = new JColorChooser();
 private DefaultColorSelectionModel model = new DefaultColorSelectionModel();
 private JButton bb = new JButton("do it");
 
 Test() {
  super("?");
  getContentPane().setLayout(new BorderLayout());
  getContentPane().add(chooser, BorderLayout.CENTER);
  getContentPane().add(bb, BorderLayout.NORTH);
  bb.addActionListener(this);
 
  chooser.setSelectionModel(model);
 
  setDefaultCloseOperation(EXIT_ON_CLOSE);
  setSize(300, 300);
  setVisible(true);
 }
 

 public static void main(String[] uu) {
  new Test();
 }
 
 public void actionPerformed(ActionEvent e) {
  model.setSelectedColor(new Color((int)(Math.random()*255), (int)(Math.random()*255), (int)(Math.random()*255)));
  System.out.println("color changed?");
 }
}

Responder a