pueden ayudarme a resumir el codigo desde donde dice cambiando el color al boton.
osea repeti lo mismo con b1 b2 b3 , ya lo intente con un implement actionListener, pero no me deja poner nada por el runnable , para crear el if. porfavor ayuda.
package Colorpick;
import java.lang.reflect.InvocationTargetException;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.event.*;
import java.awt.*;
public class Colorpick {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws InterruptedException, InvocationTargetException {
Runnable runner = new Runnable() {
@Override
public void run() {
JFrame paint = new JFrame("Color Chooser");
paint.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JColorChooser color = new JColorChooser();
//jpanel
JPanel Panel = new JPanel();
JButton b1 = new JButton("btn1");
JButton b2 = new JButton("btn2");
JButton b3 = new JButton("btn3");
Panel.add(b1, BorderLayout.NORTH);
Panel.add(b2, BorderLayout.CENTER);
Panel.add(b3, BorderLayout.SOUTH);
//agregarndo el color
Panel.setBackground(color.getColor());
paint.add(Panel, BorderLayout.CENTER);
//posicion jpanel
paint.add(color, BorderLayout.WEST);
//cambiando de color los botones
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Color newColor = color.getColor();
b1.setBackground(newColor);
}
});
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Color newColor = color.getColor();
b1.setBackground(newColor);
}
});
b3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Color newColor = color.getColor();
b1.setBackground(newColor);
}
});
//Color newColor = color.getColor();
// b1.setBackground(newColor);
paint.setSize(1000, 400);
paint.setVisible(true);
}
};
EventQueue.invokeAndWait(runner);
// TODO code application logic here
}
}