我想使用ImageJ作为库来设置自己的程序。所以这不会是一个插件。
用户可以打开图像,然后使用ImageJ提供的点选工具标记一个点。当用户这样做时,我希望我的测量结果发生在那一点。
我已经有了一个工作程序,但用户在选择所需的点后开始测量时必须单击一个额外的按钮。
为了提供简单快速的使用方法,我希望在选择该点后立即执行操作。因此,我想注册一个MouseListener。 我的问题是:实现点选择工具的代码在哪里? 我在哪里可以注册我的MouseListener?
提前致谢。
答案 0 :(得分:1)
感谢最后的评论!我以前见过它,但我没有密切关注它。
对于遇到此问题的每个人:
ImagePlus类中的方法show(String)创建一个新的StackWindow。 在那之后你可以使用:
for(Object o: win.getComponents()){
(或者只有win.getComponents()[0],如果你知道只有一个。
我到达的第一个对象是ImageCanvas。 因此,您可以将Object o转换为ImageCanvas并在那里添加MouseListener。以匿名类为例。或者,如果您编写自己的独立程序并仅使用ImageJ作为Bib,可以修改ImagePlus构造函数以在需要时提供某个MouseListener。