1 package org.woehlke.computer.kurzweil.tabs.mandelbrot2julia;
2
3 import javax.swing.*;
4 import java.awt.*;
5
6
7
8
9
10
11
12
13
14
15
16
17 public class Mandelbrot2JuliaCanvas extends JComponent {
18
19 private volatile Mandelbrot2JuliaModel app;
20 private volatile Dimension preferredSize;
21
22 public Mandelbrot2JuliaCanvas(Mandelbrot2JuliaModel app) {
23 this.app = app;
24 int width = this.app.getWorldDimensions().getWidth();
25 int height = this.app.getWorldDimensions().getHeight();
26 this.preferredSize = new Dimension(width, height);
27 this.setSize(this.preferredSize);
28 this.setPreferredSize(preferredSize);
29 }
30
31 public void paint(Graphics g) {
32 this.setSize(this.preferredSize);
33 this.setPreferredSize(preferredSize);
34 super.paintComponent(g);
35 int red = 0;
36 int green = 0;
37 int blue = 0;
38 for(int y = 0; y < app.getWorldDimensions().getY(); y++){
39 for(int x = 0; x < app.getWorldDimensions().getX(); x++){
40 blue = (((app.getCellStatusFor(x,y))*4)%256);
41 Color stateColor = new Color(red, green, blue);
42 g.setColor(stateColor);
43 g.drawLine(x,y,x,y);
44 }
45 }
46 }
47
48 public void update(Graphics g) {
49 paint(g);
50 }
51
52 }