私は完全にランダムな色を使用しません。まったく違う彩度と明るさが得られます。
彩度(鮮やかな色の値を高くする)と明るさを固定し、ランダムな色相値を選択できますが、ほぼ同じ色の連続する2つのパイスライスが得られる危険性があります。
この質問への回答で示したように、私が広がっ色相値のセットを計算します
:
import java.awt.*;
public class TestComponent extends JPanel {
int numCols = 6;
public void paint(Graphics g) {
float h = 0, dh = (float) getHeight()/numCols;
Color[] cols = getDifferentColors(numCols);
for (int i = 0; i < numCols; i++) {
g.setColor(cols[i]);
g.fillRect(0, (int) h, getWidth(), (int) (h += dh));
}
}
public static Color[] getDifferentColors(int n) {
Color[] cols = new Color[n];
for (int i = 0; i < n; i++)
cols[i] = Color.getHSBColor((float) i/n, 1, 1);
return cols;
}
public static void main(String s[]) {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new TestComponent());
f.setSize(400, 400);
f.setVisible(true);
}
}
以下の答えを再投稿
30色以上の色が必要な場合は、もちろん明るさや彩度も変更できます。例えば、暗い色10色、中間色10色、明るい色10色があります。
本当に質問はありません。私はあなたが見ることができるアンドロイドキャンバスを使用して、多くのチュートリアルがあり、たくさんのサンプルコードがあると確信しています。 http://mattgemmell.com/2008/12/08/what-have-you-tried/ – aglassman