使用SwingWorker时,内部框架悬挂在主窗口外部

时间:2016-04-12 16:22:07

标签: java swing vtk

我是Java Swing的初学者,遇到一个我不知道为什么会发生的问题。 我想在桌面窗格中显示3D图像的多个内部帧,并在另一个线程中执行此操作,因此我使用 SwingWorker 。这些框架在桌面窗格中加载,但也挂在窗口外。

[Please see the picture here.

图像由VTK呈现,因此我不知道是 SwingWorker 的问题还是重量级/轻量级组件的混合。

以下是swingworker的代码(internalFrameWorker.java)

public class internalFrameWorker extends SwingWorker<Void, ShowPLY>{
    private String[] files;
    private int x, y;
    private DropFilePane parent;
    private boolean done;
    private ShowPLY plyframe;

// Constructor
public internalFrameWorker(String[] filenames, int posx, int posy, DropFilePane pane) {
    this.files = filenames;
    this.x = posx;
    this.y = posy;
    this.parent = pane;
}

@Override
protected Void doInBackground() throws Exception {

    for(String fn: files){
        plyframe = new ShowPLY(x, y, fn); // ShowPLY outputs a JInternalFrame
        plyframe.pack();
        plyframe.setVisible(true);
        parent.add(plyframe);
        x += 20;
        y += 20;
    }
    return null;

}

}

任何帮助将不胜感激! 谢谢!

0 个答案:

没有答案