使用滑块框
问题
您想要使用滑块框来设置连续值,并且希望在移动滑块时看到当前值。
解决方案
制作一个滑块框和一个数字编辑框。 将脚本添加到滑块框以更新数字编辑框。 将脚本添加到数字编辑框以更新滑块框。
Eggs = 50;
Bacon = 50;
New Window( "Slider Display",
Border Box( Left( 10 ), Right( 10 ), top( 10 ), bottom( 10 ),
V List Box(
H List Box(
Text Box( "Eggs" ), // slider label
eggssb = Slider Box( 0, 100, Eggs, // slider script follows...
eggsnb << set( Eggs ); // update the value
// this example doesn't need any other interactive
// update. You could do some other work here, using
// the slider's value to change a graph, perhaps.
),
// text box to hold the slider's value...
eggsnb = Number Edit Box( Eggs, <<SETFUNCTION></SETFUNCTION>
Window with Slider and Edit boxes launches 2nd windowWindow with Slider and Edit boxes launches 2nd window带有滑块和编辑框的窗口启动第二个窗口
讨论
滑块框和数字编辑框具有不同的行为。 滑块框保留变量(例如鸡蛋),并在滑块移动时更新该变量。 滑块回调脚本可以直接使用该变量。 数字编辑框不会保留该变量,也不会更新它。 Eggs Number Edit 的回调函数使用 <
您可以使用 TextBox 而不是 NumberEditBox 进行稍微简单的变化,但您可能需要输入精确的值,这对于滑块来说很难。
也可以看看
http://www.jmp.com/support/help/Display_Boxes.shtml
帮助->书籍->JSL 语法参考
回复:使用滑块框您可以通过在滑块框的脚本中四舍五入来获得滑块框以给出整数输出:
Names Default To Here( 1 );
sliderValue = .6;
New Window("Slider", v list box(
text box("Slider box with integer output."),
slider box(
0,
10,
sliderValue,
sliderValue = round(sliderValue);
tb << Set Text( char( sliderValue ) )
),
tb = text box("")
));回复:使用滑块框谢谢
这解决了它:)
回复:使用滑块框谢谢!
你需要添加
gb<<INVAL></INVAL>
在两个回调函数(用于鸡蛋和培根编号编辑框)中通知 GraphBox 重绘它自己。 <<无效意味着无效并触发重绘。 按照您编写图形框的方式,它将在重绘时获取更改的数据。
回复:使用滑块框嗨克雷格
谢谢你的精彩帖子!
我稍微修改了你的脚本来说明我遇到的问题:
Eggs = 50;
Bacon = 50;
New Window( "Slider Display",
Border Box( Left( 10 ), Right( 10 ), top( 10 ), bottom( 10 ),
V List Box(
H List Box(
Text Box( "Eggs" ), // slider label
eggssb = Slider Box(
0,
100,
Eggs,
gb << Set Graphics Script( Marker( {Bacon, Eggs} ) );// slider script follows...
eggsnb << set( Eggs ); // update the value
// this example doesn't need any other interactive
// update. You could do some other work here, using
// the slider's value to change a graph, perhaps.
),
// text box to hold the slider's value...
eggsnb = Number Edit Box(
Eggs,
<<SETFUNCTION></SETFUNCTION>我的问题是,当我在数字编辑框中输入数字时,图表不会更新。 当我按“Enter”键时,滑块移动,但图表没有反映变化。 我尝试了一些方法,但不知道如何解决它。
我希望你能帮忙?
BR
杰斯珀