diff options
Diffstat (limited to 'Week15 Mandelbrot/src/com/camilstaps/mandelbrot/Textfields.java')
-rw-r--r-- | Week15 Mandelbrot/src/com/camilstaps/mandelbrot/Textfields.java | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/Week15 Mandelbrot/src/com/camilstaps/mandelbrot/Textfields.java b/Week15 Mandelbrot/src/com/camilstaps/mandelbrot/Textfields.java index b4eb6a7..d719c4a 100644 --- a/Week15 Mandelbrot/src/com/camilstaps/mandelbrot/Textfields.java +++ b/Week15 Mandelbrot/src/com/camilstaps/mandelbrot/Textfields.java @@ -30,6 +30,7 @@ import java.awt.event.ActionListener; import java.util.Observable; import java.util.Observer; import javax.swing.JButton; +import javax.swing.JCheckBox; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; @@ -41,8 +42,9 @@ import javax.swing.JTextField; public class Textfields extends JPanel implements Observer { private final FractalModel fractalModel; + private final Grid grid; - private final String INITIAL_CENTER_X = "0", + private final String INITIAL_CENTER_X = "-0.46", INITIAL_CENTER_Y = "0", INITIAL_SCALE = "0.5"; @@ -51,20 +53,23 @@ public class Textfields extends JPanel implements Observer { private final JTextField field_scale = new JTextField(INITIAL_SCALE, 6); private final JButton button_redraw = new JButton("Redraw"); private final JButton button_reset = new JButton("Reset"); + private final JCheckBox checkbox_multiple_swingworkers = new JCheckBox("Multiple SwingWorkers"); - public Textfields(FractalModel fractalModel) { + public Textfields(FractalModel fractalModel, Grid grid) { super(new BorderLayout()); this.fractalModel = fractalModel; + this.grid = grid; + fractalModel.addObserver(this); setupControls(); - update(fractalModel, null); + button_redraw.doClick(); } private void setupControls() { - JPanel panel = new JPanel(new GridLayout(10,1)); + JPanel panel = new JPanel(new GridLayout(9,1)); panel.add(new JLabel("Center x:")); panel.add(field_centerX); @@ -97,13 +102,21 @@ public class Textfields extends JPanel implements Observer { }); panel.add(button_reset); + checkbox_multiple_swingworkers.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent ae) { + grid.setUseMultipleSwingWorkers(checkbox_multiple_swingworkers.isSelected()); + } + }); + panel.add(checkbox_multiple_swingworkers); + add(panel, BorderLayout.NORTH); add(new JPanel(), BorderLayout.CENTER); } @Override public int getWidth() { - return 100; + return 200; } protected double getStartX() { |