gpt4 book ai didi

java - ImageJ 打开 imagePlus 窗口作为桌面 Pane 内的内部框架

转载 作者:行者123 更新时间:2023-12-01 22:59:30 32 4
gpt4 key购买 nike

我在使用 ImageJ 的其中一个文件时遇到了一些问题。基本上设置一个用于分析和打开图像的桌面 Pane 。但是当程序打开图像时,它会将其作为单独的 JFrame 打开。我想成为一个内部JFrame。所以基本上图像会在桌面 Pane 中打开。我尝试了一些方法,例如创建内部框架类并将 win 添加到桌面 Pane ,但似乎没有任何效果,它仍然将其作为单独的 JFrame 打开。我想知道是否有人知道该怎么做。

这是我的代码(这个函数只是调用 .show() 来显示图像,打开窗口的实际 JFrame 的代码位于 ImageWindow.java 中):

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

FileOpener open = new FileOpener(file);

ImagePlus fopen = open.open(false);

if(fopen != null){
BufferedImage openImage = fopen.getBufferedImage();
new ImagePlus(path,openImage).show(desktop); //This functions displays the image
ImagePlus newImage = new ImagePlus(path,openImage);
img = newImage;


}
frame.setVisible(false);

}

最佳答案

新 JFrame 的创建被硬编码到 ImageJ 的 ImagePlus 中类:

if (stackSize>1)
win = new StackWindow(this);
else
win = new ImageWindow(this);

如果您想调整 GUI,您可以扩展 ImageWindowStackWindow 类。请参阅Trainable Weka Segmentation插件是一个很好的例子。

或者,使用 ImageJ2 的数据结构,即ImgLibImgPlus 。它们被设计为独立于任何用户界面。

关于java - ImageJ 打开 imagePlus 窗口作为桌面 Pane 内的内部框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23528247/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com