这个控制层绘制的逻辑是怎么样的呢?为啥把键盘监听器放在run函数里面(setData后面)还是可以实现?
来源:9-4 为分形绘制添加交互
teethdiao
2020-06-24
按老师的代码,如果执行了一次键盘监听,new Thread的run函数就不执行了吗?
EventQueue.invokeLater(() -> {
frame = new AlgoFrame("Fractal Visualizer", sceneWidth,sceneHeight);
frame.addKeyListener(new AlgoKeyListener());
new Thread(() -> {
run();
}).start();
});
}
private void run(){
setData(data.depth);
}
private void setData(int depth){
data.depth = depth;
frame.render(data);
AlgoVisHelper.pause(DELAY);
}
我是想问在这串代码中当键盘键入一个数字后
会重新执行new Thread(()->…这部分代码吗?
因为我把run函数改成
private void run(){
setData(6);
}
也不影响键盘监听实现
写回答
2回答
-
不会重新执行 new Thread
每按一个键,只会执行 keyReleased
继续加油!:)
012020-06-24 -
liuyubobobo
2020-06-24
抱歉,我没有理解你的问题。
你的意思是课程现有代码的哪一部分的运行机制不理解?还是你想把代码怎么修改?
012020-06-24
相似问题