다음 코드에서 1에서 3까지의 텍스트로 3 개의 상자를 만듭니다. 네 번째 상자에서 마우스가 마우스를 가리키고있는 상자의 텍스트를 표시하고 싶습니다. 그래서 네 번째 상자의 문자열을 변경하고 다시 그리라고 말한 상자 각각에 대해 onMouseEnter FProperty를 설정합니다.이벤트에 올바른 문자열이 표시되지 않습니다.
bool redraw = false;
str s = "0";
Figure getTextbox() {
return computeFigure(bool() {bool temp = redraw; redraw = false; return temp; },
Figure() {
return text(str() {return s; });
});
}
list[Figure] boxes = [];
for (i <- [1..4]) {
boxes += box(text(toString(i)), onMouseEnter(void() {s = toString(i); redraw = true; }));
}
Figure changer = box(getTextbox());
render(vcat(boxes + changer));
그러나, 어떤 이상한 이유로 모두 세 개의 상자 대신 개별 값의 "3"(마지막 상자의 값)에 네 번째 상자의 텍스트를 변경하려면 onMouseEnter 방법을 알려드립니다.
실마리가 있습니까? 감사!