Paleta de colores con swing
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.
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();
}
}
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();
}
}
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!!! ;)
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!!! ;)