171 if (opsIndex == 0) { 172 thresholdOp(low, slider2.getValue()); 173 } else { 174 rescaleOffset = slider2.getValue(); 175 biop[1] = new RescaleOp(rescaleFactor / 128.0f, rescaleOffset, 176 null); 177 } 178 179 } 180 repaint(); 181 } 182 183 public static void main(String[] s) { 184 createDemoFrame(new ImageOps()); 185 } 186 187 188 static class DemoControls extends CustomControls implements ActionListener { 189 190 ImageOps demo; 191 JComboBox imgCombo, opsCombo; 192 Font font = new Font(Font.SERIF, Font.PLAIN, 10); 193 194 @SuppressWarnings("LeakingThisInConstructor") 195 public DemoControls(ImageOps demo) { 196 super(demo.name); 197 this.demo = demo; 198 add(imgCombo = new JComboBox()); 199 imgCombo.setFont(font); 200 for (String name : ImageOps.imgName) { 201 imgCombo.addItem(name); 202 } 203 imgCombo.addActionListener(this); 204 add(opsCombo = new JComboBox()); 205 opsCombo.setFont(font); 206 for (String name : ImageOps.opsName) { 207 opsCombo.addItem(name); 208 } 209 opsCombo.addActionListener(this); 210 } 211 212 @Override 213 public void actionPerformed(ActionEvent e) { 214 if (e.getSource().equals(opsCombo)) { 215 demo.opsIndex = opsCombo.getSelectedIndex(); 216 if (demo.opsIndex == 0) { 217 demo.slider1.setValue(ImageOps.low); 218 demo.slider2.setValue(ImageOps.high); 219 demo.slider1.setEnabled(true); 220 demo.slider2.setEnabled(true); 221 } else if (demo.opsIndex == 1) { 222 demo.slider1.setValue(ImageOps.rescaleFactor); 223 demo.slider2.setValue((int) ImageOps.rescaleOffset); 224 demo.slider1.setEnabled(true); | 171 if (opsIndex == 0) { 172 thresholdOp(low, slider2.getValue()); 173 } else { 174 rescaleOffset = slider2.getValue(); 175 biop[1] = new RescaleOp(rescaleFactor / 128.0f, rescaleOffset, 176 null); 177 } 178 179 } 180 repaint(); 181 } 182 183 public static void main(String[] s) { 184 createDemoFrame(new ImageOps()); 185 } 186 187 188 static class DemoControls extends CustomControls implements ActionListener { 189 190 ImageOps demo; 191 JComboBox<String> imgCombo, opsCombo; 192 Font font = new Font(Font.SERIF, Font.PLAIN, 10); 193 194 @SuppressWarnings("LeakingThisInConstructor") 195 public DemoControls(ImageOps demo) { 196 super(demo.name); 197 this.demo = demo; 198 add(imgCombo = new JComboBox<>()); 199 imgCombo.setFont(font); 200 for (String name : ImageOps.imgName) { 201 imgCombo.addItem(name); 202 } 203 imgCombo.addActionListener(this); 204 add(opsCombo = new JComboBox<>()); 205 opsCombo.setFont(font); 206 for (String name : ImageOps.opsName) { 207 opsCombo.addItem(name); 208 } 209 opsCombo.addActionListener(this); 210 } 211 212 @Override 213 public void actionPerformed(ActionEvent e) { 214 if (e.getSource().equals(opsCombo)) { 215 demo.opsIndex = opsCombo.getSelectedIndex(); 216 if (demo.opsIndex == 0) { 217 demo.slider1.setValue(ImageOps.low); 218 demo.slider2.setValue(ImageOps.high); 219 demo.slider1.setEnabled(true); 220 demo.slider2.setEnabled(true); 221 } else if (demo.opsIndex == 1) { 222 demo.slider1.setValue(ImageOps.rescaleFactor); 223 demo.slider2.setValue((int) ImageOps.rescaleOffset); 224 demo.slider1.setEnabled(true); |