@@ -28,10 +28,33 @@ public static void show() {
2828 addExprButton (exprPanel , "Default" , "Default" );
2929 frame .add (exprPanel );
3030
31+ JPanel paramPanel = new JPanel (new GridLayout (0 , 1 ));
32+ paramPanel .setBorder (BorderFactory .createTitledBorder ("Parameters" ));
33+ addSlider (paramPanel , "Angle X" , "ParamAngleX" , -30 , 30 , 0 );
34+ addSlider (paramPanel , "Angle Y" , "ParamAngleY" , -30 , 30 , 0 );
35+ addSlider (paramPanel , "Eye L Open" , "ParamEyeLOpen" , 0 , 1 , 1 );
36+ addSlider (paramPanel , "Eye R Open" , "ParamEyeROpen" , 0 , 1 , 1 );
37+ addSlider (paramPanel , "Mouth Open" , "ParamMouthOpenY" , 0 , 1 , 0 );
38+ addSlider (paramPanel , "Body X" , "ParamBodyAngleX" , -10 , 10 , 0 );
39+ frame .add (paramPanel );
40+
3141 frame .setVisible (true );
3242 });
3343 }
3444
45+ private static void addSlider (JPanel panel , String label , String id , float min , float max , float initial ) {
46+ JPanel p = new JPanel (new BorderLayout ());
47+ JLabel l = new JLabel (label );
48+ p .add (l , BorderLayout .WEST );
49+ JSlider slider = new JSlider ((int )(min * 100 ), (int )(max * 100 ), (int )(initial * 100 ));
50+ slider .addChangeListener (e -> {
51+ float val = slider .getValue () / 100.0f ;
52+ sendRequest ("/parameter?id=" + id + "&value=" + val );
53+ });
54+ p .add (slider , BorderLayout .CENTER );
55+ panel .add (p );
56+ }
57+
3558 private static void addMotionButton (JPanel panel , String label , String id ) {
3659 JButton btn = new JButton (label );
3760 btn .addActionListener (e -> sendRequest ("/motion?id=" + id ));
0 commit comments