2013-05-21 4 views
0

제목과 마찬가지로, 나는 줄리아 세트에 2-3 색을 추가하고 싶다. 하지만 어떻게하는지 모릅니다. 나는 1 개의 색깔을 추가하는 방법을 안다. 그리고 나는 그것을한다. 하지만 2-3을 더해야합니다.줄리아 세트에서 다른 색상으로 음영을 만드십시오.

import java.awt.Color; 
import java.awt.Graphics; 
import java.util.Random; 

import javax.swing.JApplet; 

public class ComplexTester extends JApplet { 
    Color c; 

    public void init() { 

     resize(600, 600); 
    } 

    public Color setC1() { 
     c = new Color(250, 250, 0); 
     return c; 
    } 

    public void paint(Graphics g) { 

     Random generator = new Random(); 

     Complex c = new Complex(-0.123, 0.745); 
     Complex b = new Complex(); 

     for (int k = 0; k < 600; k++) 
      for (int j = 0; j < 600; j++) { 

       Complex a = new Complex((k/200.0) - 1.5, 
         (600 - j)/200.0 - 1.5); 
       int i = 0; 
       b = a; 

       do { 
        b = b.kwadrat().dodaj(c); 
        i++; 
        if (b.moduł2().getX() > 2) 
         break; 

       } while (i < 30); 

       if (i == 30) { 

        g.setColor(setC2()); 

        g.drawOval(k, j, 1, 1); 

       } 
      } 
    } 
} 

setColor() 메서드는 하나의 색상 만 추가합니다. 몇 가지 색을 더하는 메쏘르가 있습니까?

+1

JApplet과 같은 최상위 컨테이너의 paint() 메소드를 재정의하지 마십시오. 커스텀 페인팅은 JPanel (또는 JComponent)의'paintComponent()'메소드를 오버라이드하고 패널을 애플릿에 추가함으로써 이루어진다. 그리고 메소드의 시작 부분에서 super.paintComponent (...)를 호출하는 것을 잊지 마십시오. – camickr

답변

2

enum을 사용하여 고정 팔레트를 만들 수 있습니다 (herehere). 이 경우 getHSBColor()을 사용하여 here으로 표시된 색 영역을 List<Color>에 만들 수 있습니다. Queue<Color>을 사용하는 관련 예제는 here입니다. 일단 그러한 콜렉션이 있으면, 필요한 반복 횟수를 기준으로 인덱스별로 색상을 선택하게됩니다.