source: src/main/java/genius/gui/uncertainty/PerturbationPanel.java@ 36

Last change on this file since 36 was 1, checked in by Wouter Pasman, 7 years ago

Initial import : Genius 9.0.0

File size: 1.9 KB
Line 
1package genius.gui.uncertainty;
2
3import java.awt.BorderLayout;
4import java.awt.Dimension;
5import java.util.Hashtable;
6
7import javax.swing.JLabel;
8import javax.swing.JPanel;
9import javax.swing.JSlider;
10import javax.swing.event.ChangeEvent;
11import javax.swing.event.ChangeListener;
12
13import genius.gui.panels.LabelAndComponent;
14
15public class PerturbationPanel extends JPanel{
16
17 private PerturbationModel model;
18 private LabelAndComponent panel;
19 private JSlider slider;
20 private JLabel perturbationLabel = new JLabel("0");
21
22
23 public PerturbationPanel(PerturbationModel model) {
24 this.model = model;
25 setLayout(new BorderLayout());
26 slider = createSlider();
27 LabelAndComponent sliderPanel = new LabelAndComponent("Set Perturbation", slider);
28 JPanel centerPanel = new JPanel();
29 centerPanel.add(sliderPanel,BorderLayout.CENTER);
30 centerPanel.add(perturbationLabel,BorderLayout.EAST);
31 add(centerPanel,BorderLayout.CENTER);
32 this.setVisible(true);
33 }
34
35 private JSlider createSlider() {
36 slider = new JSlider(JSlider.HORIZONTAL,0,100,1);
37 slider.setMajorTickSpacing( 1 );
38 slider.setMinorTickSpacing( 2 );
39 Hashtable<Integer, JLabel> sliderLabelsTable = new Hashtable<Integer, JLabel>();
40 sliderLabelsTable.put( 0 , new JLabel("0") );
41 sliderLabelsTable.put( 2 , new JLabel("0.2") );
42 sliderLabelsTable.put( 4 , new JLabel("0.4") );
43 sliderLabelsTable.put( 6 , new JLabel("0.6") );
44 sliderLabelsTable.put( 8 , new JLabel("0.8") );
45 sliderLabelsTable.put( 10 , new JLabel("1") );
46 slider.setPreferredSize(new Dimension(200, 200));
47
48 slider.addChangeListener(new ChangeListener() {
49 @Override
50 public void stateChanged(ChangeEvent e) {
51 perturbationLabel.setText(String.valueOf((double) slider.getValue() / 100));
52 model.getPerturbationBox().setText(perturbationLabel.getText());
53 }
54 });
55 return slider;
56 }
57
58 public LabelAndComponent getPanel() {
59 return panel;
60 }
61
62 public JSlider getSlider() {
63 return slider;
64 }
65
66
67
68}
Note: See TracBrowser for help on using the repository browser.