Próbuje wygenerować planszę z dużą ilością pól(80x80), tak, aby była możliwość zmian koloru poszczególnych pół planszy.
Zrealizowałem generowanie takiej planszy za pomocą tablicy dwuwymiarowej oraz dwóch pętli - niestety jest to bardzo powolne - istnieje jakiś alternatywny sposób na generowanie takich rzeczy? Na forum znalazłem jedynie generowanie szachownic, również w ten sam sposób. Załączam część kodu odpowiedzialną za generowanie:
package msi;
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
public class PanelRysunku extends JPanel
{
static public void setWymiary(int x,int y, int rozm)
{
POZIOM=x;
PION=y;
ROZMIAR=rozm;
kolorWypelnienia = new Color(0x00,0xFF,0x00);
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
double lewyX = 10;
double gornyY = 10;
double szerokosc = 10;
double wysokosc = 10;
for(int i=0;i<POZIOM;i++)
{
for(int j=0;j<PION;j++)
{
wypelnieniePola = new Rectangle2D[POZIOM][PION];
wypelnieniePola[i][j] = new Rectangle2D.Double(ROZMIAR*i, ROZMIAR*j+12, ROZMIAR, ROZMIAR);
g2.setPaint(kolorWypelnienia);
g2.fill(wypelnieniePola[i][j]);
g2.draw(wypelnieniePola[i][j]);
ramkiPola = new Rectangle2D[POZIOM][PION];
ramkiPola[i][j] = new Rectangle2D.Double(ROZMIAR*i, ROZMIAR*j+12, ROZMIAR, ROZMIAR);
g2.setPaint(new Color(0xFF,0xFF,0xFF));
g2.draw(ramkiPola[i][j]);
}
}
}
static public void zmienkolor(int r, int g, int b)
{
kolorWypelnienia = new Color(r,g,b);
}
public static Color kolorWypelnienia;
Rectangle2D[][] ramkiPola;
Rectangle2D[][] wypelnieniePola;
static int POZIOM;
static int PION;
static int ROZMIAR;
}