TwistedMetal
Usuario (México)
Saludos taringeros aqui les dejo un codigo en java que muestra un planel de colores espero les sirva y si le sirve minimo dejen puntos XD saludos import java.awt.*; import java.awt.event.*; // Java extension packages import javax.swing.*; public class ShowColors2 extends JFrame { private JButton changeColorButton; private Color color = Color.lightGray; private Container container; // set up GUI public ShowColors2() { super( "Using JColorChooser" ); container = getContentPane(); container.setLayout( new FlowLayout() ); // set up changeColorButton and register its event handler changeColorButton = new JButton( "Change Color" ); changeColorButton.addActionListener( // anonymous inner class new ActionListener() { // display JColorChooser when user clicks button public void actionPerformed( ActionEvent event ) { color = JColorChooser.showDialog( ShowColors2.this, "Choose a color", color ); // set default color, if no color is returned if ( color == null ) color = Color.lightGray; // change content pane's background color container.setBackground( color ); } } // end anonymous inner class ); // end call to addActionListener container.add( changeColorButton ); setSize( 400, 130 ); setVisible( true ); } // execute application public static void main( String args[] ) { ShowColors2 application = new ShowColors2(); application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); } }

saludos aqui les dejo un programa que me saco de apuro en graficacion jeje espero les sirva de algo alguno codigos. si les sirve de algo dejen muchos puntos import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JSlider; import javax.swing.JPanel; /* Las instancias de la clase java.awt.geom.AffineTransform representan la transformación de un sistema de coordenadas a otro. AffineTransform se utilizó para guardar y restaurar la transformación del estado de un Graphics2D. AffineTransform también puede ser útil cuando se necesita para calcular y almacenar coordenadas transformadas antes de dibujar.*/ public class puntorotacion extends JPanel { private int grados = 0; /*Sólo se puede acceder al elemento desde métodos de la clase, o sólo puede invocarse el método desde otro método de la clase. */ public int getGrados() { return grados; } public void setGrados(int grados) { this.grados = grados; repaint(); //Para repintar toda la pantalla } //@Override public void paint(Graphics g) { super.paint(g); //se borra el contenido anterior double radian = Math.toRadians(grados); //se convierte a radianes lo grados AffineTransform at = new AffineTransform(); at.rotate(radian, 100, 100); //se asigna el angulo y centro de rotacion ((Graphics2D) g).setTransform(at); //se dibuja g.setColor(Color.red); g.drawRect(50, 50, 100, 100); //posicion de la figura } } class panel{ public static void main(String[] args) { final JFrame twisted = new JFrame("Imagen Giratoria"; twisted.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); twisted.setSize(200, 250); final puntorotacion metal = new puntorotacion(); final JSlider rotar = new JSlider(-360,360); //barra de grados para rotar el cuadrado /*En ocasiones es conveniente que un método no sea redefinido en una clase derivada o incluso que una clase completa no pueda ser extendida. Para esto está la cláusula final, que tiene significados levemente distintos según se aplique a un dato miembro, a un método o a una clase. Para una clase, final significa que la clase no puede extenderse. Es, por tanto el punto final de la cadena de clases derivadas.Y Para un método, final significa que no puede redefinirse en una clase derivada.*/ rotar.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { metal.setGrados(rotar.getValue()); } }); rotar.setValue(0); twisted.setLayout(new BorderLayout()); twisted.add(metal, BorderLayout.CENTER); twisted.add(rotar, BorderLayout.SOUTH); //genera la barra para rotar la figura twisted.setLocationRelativeTo(null); //Coloca la ventana de salida en el centro twisted.setVisible(true); } }