Java Swing面板不显示添加的组件

Java Swing面板不显示添加的组件,java,swing,camera,Java,Swing,Camera,我正在使用SARXOS网络摄像头api和 我通过网络摄像头对简单的java swing二维码扫描仪进行编码,但不查看摄像头屏幕到面板 public class WebCamQRCode extends javax.swing.JFrame implements Runnable, ThreadFactory { /** * Creates new form WebCamQRCode */ private static final long serialVer

我正在使用SARXOS网络摄像头api和 我通过网络摄像头对简单的java swing二维码扫描仪进行编码,但不查看摄像头屏幕到面板

public class WebCamQRCode extends javax.swing.JFrame implements Runnable, ThreadFactory {

    /**
     * Creates new form WebCamQRCode
     */
    private static final long serialVersionUID = 6441489157408381878L;

    private Executor executor = Executors.newSingleThreadExecutor(this);

    private Webcam webcam = null;
    private WebcamPanel panel = null;

    public WebCamQRCode() {
        initComponents();
        privateinitComponents();

    }

    public void privateinitComponents() {

        setTitle("Read QR With Webcam");

        Dimension size = new Dimension(640, 480);

        webcam = Webcam.getWebcams().get(0);
        webcam.setViewSize(size);

        panel = new WebcamPanel(webcam);
        panel.setPreferredSize(size);

        photopanel.add(panel);

        photopanel.setVisible(true);

        executor.execute(this);
    }

代码正确运行并扫描qr图像,但不查看摄像头屏幕面板

我猜initComponents是自动生成的Netbeans函数。如果这是正确的,它将布局组件,然后调用pack。返回后更改布局通常不起作用。使用Netbeans GUI builder的更好方法是在“设计”视图中选择photopanel,右键单击弹出菜单并选择“自定义代码”,然后将此处用于privateinitComponents的代码粘贴到“自定义代码”对话框中,以便在打包外部框架之前调用它。您还需要检查并可能调整photopanel的大小

为了更快地获得更好的帮助,请发布一个or。