Paleta de colores con swing

rafael
02 de Junio del 2004
Tengo un problema, necesito una un editor de colores similar al del Paint de windows cuando personalizas colores, les agradeceria si me dijeran como hacerlo o si tienen uno similar me lo envien.

inma
02 de Junio del 2004
AHI TIENES UN CODIGO PARECIDO A LO QUE PIDES, ESPERO QUE TE SIRVA


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
* Insert the type's description here.
* Creation date: (02/03/2001 10:20:44)
* @author: Administrator
*/
public class BarraDespla extends JFrame{
public JPanel f1;
public javax.swing.JPanel pcolor;
public JSlider srojo;
public JSlider sazul;
public JSlider sverde;
public javax.swing.JTextField lrojo;
public javax.swing.JTextField lazul;
public javax.swing.JTextField lverde;
public javax.swing.JTextField lhexa;
public javax.swing.JPanel pb1;
public javax.swing.JPanel pb2;
public javax.swing.JPanel pb3;
public JLabel trojo;
public JLabel tazul;
public JLabel tverde;

class InternaBarra implements javax.swing.event.ChangeListener {
public void stateChanged(javax.swing.event.ChangeEvent e) {


if(e.getSource()==sazul)
lazul.setText(String.valueOf(sazul.getValue()));

else if(e.getSource()==srojo)
lrojo.setText(String.valueOf(srojo.getValue()));

else if(e.getSource()==sverde)
lverde.setText(String.valueOf(sverde.getValue()));

pcolor.setBackground(new Color(srojo.getValue(),sverde.getValue(),sazul.getValue()));

String rojo=Integer.toHexString(srojo.getValue());
String verde=Integer.toHexString(sverde.getValue());
String azul=Integer.toHexString(sazul.getValue());
lhexa.setText("#"+rojo+verde+azul);
}
}

/**
* Insert the method's description here.
* Creation date: (02/03/2001 10:41:00)
*/
public void go() {

f1=new JPanel();

lazul=new JTextField("0",3);
lrojo=new JTextField("0",3);
lverde=new JTextField("0",3);
lhexa=new JTextField("#000000",7);
lazul.setEditable(false);
lrojo.setEditable(false);
lverde.setEditable(false);
lhexa.setEditable(false);

pcolor=new JPanel();
pcolor.setBackground(new Color(255,255,255));
pcolor.setVisible(true);

pb1=new JPanel();
pb2=new JPanel();
pb3=new JPanel();

trojo=new JLabel("Rojo");
tazul=new JLabel("Azul");
tverde=new JLabel("Verde");

sazul=new JSlider(0,255,0);
sazul.addChangeListener(new InternaBarra());
srojo=new JSlider(0,255,0);
srojo.addChangeListener(new InternaBarra());
sverde=new JSlider(0,255,0);
sverde.addChangeListener(new InternaBarra());

pb1.add(tazul);
pb1.add(sazul);
pb1.add(lazul);

pb2.add(trojo);
pb2.add(srojo);
pb2.add(lrojo);

pb3.add(tverde);
pb3.add(sverde);
pb3.add(lverde);

f1.setLayout(new GridLayout(4,1));
f1.add(pb1);
f1.add(pb2);
f1.add(pb3);
f1.add(lhexa);

getContentPane().setLayout(new GridLayout(1,2));
getContentPane().add(f1);
getContentPane().add(pcolor);
setSize(600,150);
setResizable(false);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);}});
show();


}
/**
* Insert the method's description here.
* Creation date: (02/03/2001 11:00:11)
* @param args java.lang.String[]
*/
public static void main(String[] args) {
BarraDespla bd=new BarraDespla();
bd.go();
}
}

Tania
02 de Junio del 2004
A continuación te mando un trozo de código con el cual te sale un selector de colores:

JColorChooser selector = new JColorChooser();
JFrame ventana = new JFrame();
Color color=new Color(2,3,5,9);
Color color2 = new Color(2,3,5,9);
color2=alpha2.showDialog(ventana,"Elige el color",Color.color);
if(color2!=null)
{
color=color2;
//Acciones para lo q tú kieras q cambie el color(setForeground&setBackground)
}

Espero q te sirva!!! ;)