scaleSlider 上的性能文本字段

问题描述

我正在尝试创建看起来像交互式条形图的东西。我正在使用一种基于框列表创建图形的方法。 我正在使用 scaleSlider 以交互方式更改图中显示的框数。仅使用一个条形,性能还可以,但使用 4 个条形时,性能显着降低。

enter image description here

我尝试用 textfield 替换 scaleSlider,看看这是否能提高性能。但是,我需要一些帮助才能让事情运行起来。

下面的缩放框示例正在运行,结果如下面的屏幕截图。

figure scaledBox(){
   int n = 10;
   return vcat([ hcat([ scaleSlider(int() { return 0; },int () { return 50; },int () { return n; },void (int s) { n = s; },width(200)),text(str () { return "n: <n>";})
                      ],left(),top(),resizable(false)),computefigure(figure (){ return visualizeAllUnitSizes(n); })
               ]);
}

如何实现文本字段以将 scaleSlider 替换为文本字段输入字段?我已经尝试过 Rascal 导师的 tfield() 示例,但我不确定如何创建一个小文本框,该文本框将包含一个 int 并在按下 Enter 后运行生成图形的方法

public figure tfield(){
  str entered = "";
  return vcat([ Box(textfield("",void(str s){ entered = s;},fillColor("yellow")),size(20,30)),text(str(){return "entered: <entered>";},left())
              ]);
}  

解决方法

回答我自己的问题; 我的 2015 年 iMac 5K 型号和我的 2016 年 MacBook Pro 之间的性能存在很大差异。在我的 MBP 上,滑块运行顺畅,在我的 iMac 上,滑块几乎无法使用。所以性能问题可能与我的 iMac 的高分辨率有关。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...