Buenas, Estoy creando una lámina en cual un rectángulo quiero que seleccione el color aleatoriamente de una arraylist de colores personalizados. por favor, decirme que estoy haciendo mal.
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package buscacolor;
import java.awt.*;
import java.awt.geom.*;
import java.util.*;
import javax.swing.*;
/**
*
* @author pcx
*/
public class Lamina extends JPanel {
int i=0, f, e, c, j=0, num=1, numColor=6, colore;
double pos_x=50;
//public Rectangle2D cuadro[];
public ArrayList<Color> colores, lista;
int [] jugada;
Color blanco, azul, verde, celeste, rosa, rosaOscuro, amarillo, rojo, rojoClaro, naranja, negro, morado;
Random rnd= new Random();
public Lamina(){
blanco= new Color(255,255,255);
azul= new Color(0,0,125);
verde= new Color(0,128,0);
celeste= new Color(0,255,255);
rosa= new Color(255,0,255);
rosaOscuro= new Color(128,0,128);
amarillo= new Color(255,255,0);
rojo= new Color(255,0,0);
rojoClaro= new Color(255,192,203);
naranja= new Color(255,165,0);
blanco= new Color(0,0,0);
morado= new Color(84,84,168);
}
public void cargar() {
colores= new ArrayList<Color>();
colores.add(0, azul);
colores.add(1, verde);
colores.add(2,celeste);
colores.add(3, rosa);
colores.add(4, rosaOscuro);
colores.add(5, amarillo);
colores.add(6, rojo);
colores.add(7, rojoClaro);
colores.add(8, naranja);
colores.add(9, blanco);
colores.add(10, morado);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2= (Graphics2D) g;
numColor=4;
while(numColor!=0){
Rectangle2D cuadro= new Rectangle2D.Double(pos_x, 100, 250, 250);
j= (int) Math.round(Math.random()*5);
g2.setColor(colores.get(i));
g2.fill(cuadro);
g2.draw(cuadro);
// System.out.println(colores.toArray());
pos_x+= 350;
numColor--;
// lista.add(colores.get(j));
// colores.remove(j);
// jugada= new int[numColor];
}
/*
for(f=0; f<jugada.length; f++) {
j= rnd.nextInt(colores.length);
jugada[f]=j;
for(int c=0; c<f; c++) {
System.out.println("indice c " + c + " array c" + jugada[c] + " num aleatorio " + j );
if(jugada[f]== jugada[c]) {
j= rnd.nextInt(colores.length);
jugada[f]= j;
f=0;
}
}
System.out.println("indicee c " + c + " array c " + jugada[c] + " num aleatorio " + j );
Rectangle2D cuadro= new Rectangle2D.Double(pos_x, 70, 50, 50);
g2.setColor(new Color(hex(colores[jugada[f] ])));
g2.fill(cuadro);
g2.draw(cuadro);
System.out.println("Color " + g2.getBackground() );
pos_x+= 350;
*/
}
}
Grecias