Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 画布仅在调整JFrame的大小后显示_Java_Resize_Swt_Jframe_Java Canvas - Fatal编程技术网

Java 画布仅在调整JFrame的大小后显示

Java 画布仅在调整JFrame的大小后显示,java,resize,swt,jframe,java-canvas,Java,Resize,Swt,Jframe,Java Canvas,我有以下JPanel: import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JPanel; public class Watcher extends JPanel { private static final long serialVersionUID = 1L; final CardLoader canvas; private AvatarLoader avatarP

我有以下JPanel:

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JPanel;

public class Watcher extends JPanel {
    private static final long serialVersionUID = 1L;
    final CardLoader canvas;
    private AvatarLoader avatarPic; 
    private String username;

    public Watcher(String username){    
        this.username = username;
        avatarPic = new AvatarLoader(username);

        canvas = new CardLoader();
        canvas.setSize(new Dimension(200, 135));

        this.setLayout(new BorderLayout());
        this.add(avatarPic, BorderLayout.CENTER);
        this.add(canvas, BorderLayout.SOUTH);

        canvas.setVisible(true);
    }

    public void load(){
        canvas.connect();
        canvas.setGamerCardURL(this.username);
    }
}
画布是SWT浏览器,但它仅在调整JFrame大小后显示

我尝试了使用revalivate()/validate()和repaint()的所有方法和组合


它应该直接出现。希望有人能帮助我。

我刚刚做了一项工作,在JFrame显示后,我正在更改它的大小。因此它“调整大小”,画布可见;)

不要把SWT和Swing混为一谈!SWT没有或类似的成分吗?我知道我不应该,但我必须。“我知道我不应该,但我必须。”非常的主张需要非常的证据或理由。你的理由是什么?因为我还没有找到其他方法,在jframe中显示整个页面。我试了很多:/