20 import ca.uqac.lif.cep.Connector;
21 import ca.uqac.lif.cep.functions.ApplyFunction;
22 import ca.uqac.lif.cep.io.Print;
23 import ca.uqac.lif.cep.widgets.GetWidgetValue;
24 import ca.uqac.lif.cep.widgets.ListenerSource;
25 import java.awt.Component;
26 import javax.swing.BorderFactory;
27 import javax.swing.BoxLayout;
28 import javax.swing.JFrame;
29 import javax.swing.JLabel;
30 import javax.swing.JPanel;
31 import javax.swing.JSlider;
39 public static void main(String[] args)
42 JFrame frame =
new JFrame(
"My Widget Frame");
43 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
44 JPanel panel =
new JPanel();
45 panel.setLayout(
new BoxLayout(panel, BoxLayout.PAGE_AXIS));
46 JSlider slider =
new JSlider(JSlider.HORIZONTAL, 0, 100, 30);
47 slider.setMajorTickSpacing(20);
48 slider.setPaintTicks(
true);
49 slider.setPaintLabels(
true);
50 JLabel slider_label =
new JLabel(
"Value", JLabel.CENTER);
51 slider_label.setAlignmentX(Component.CENTER_ALIGNMENT);
52 panel.add(slider_label);
54 panel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
57 frame.setVisible(
true);
61 ListenerSource ls =
new ListenerSource();
62 slider.addChangeListener(ls);
63 ApplyFunction gwv =
new ApplyFunction(GetWidgetValue.instance);
64 Connector.connect(ls, gwv);
65 Print print =
new Print();
66 Connector.connect(gwv, print);