aboutsummaryrefslogtreecommitdiff
path: root/Week15 Mandelbrot/src/com/camilstaps/mandelbrot/Textfields.java
diff options
context:
space:
mode:
Diffstat (limited to 'Week15 Mandelbrot/src/com/camilstaps/mandelbrot/Textfields.java')
-rw-r--r--Week15 Mandelbrot/src/com/camilstaps/mandelbrot/Textfields.java23
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() {