Вопрос

Я строю приложение Eclipse RCP. Я хочу встроить видеоворот на один из видов. Я использую Java Media Framework для создания видеопродуктов. Да, моя работа требует от меня быть мазохистом.

Когда я управляю моим видеокодом в виде автономного приложения Swing, панель видео подачи (качели JPanel) отображается в правильном размере 320 х 240 пикселей. Когда я запускаю тот же код в моем Eclipse RCP, используя класс SWT_AWT, панель видео подачи уменьшается до 80 х 60.

я пробовал setPreferredSize а также setMinimumSize на панели подачи видео. Ничего не меняется.

я пробовал setBounds а также setSize на SWT Composite. Ничего не меняется.

Кто-нибудь встроенный качели видео подачи в SWT View?

Кто-нибудь встроенный качающийся компонент в View SWT и указал размер качающего компонента?

Это было полезно?

Решение

Я, наконец, выяснил, как я мог бы «трюк» SWT для производства видеопада более разумного размера.

Я отображал изображение JPG правильного размера, затем накладывало изображение с помощью кода AWT / Swing.

Вот код, который я использовал:

        Composite videoComposite = new Composite(panel, 
                SWT.EMBEDDED | SWT.BORDER | SWT.NO_BACKGROUND);
        videoComposite.setLayout(new FillLayout());
        videoComposite.setLayoutData(new GridData(
                SWT.CENTER, SWT.CENTER, true, true, 1, 1));

        CLabel videoImage = new CLabel(videoComposite, SWT.SHADOW_IN);
        videoImage.setImage(dummyVideo);

        final Frame frame = SWT_AWT.new_Frame(videoComposite);

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JApplet applet = new JApplet();
                applet.setFocusCycleRoot(false);
                applet.add(rabidPhoto.getVideoPanel(false));
                frame.add(applet);
                frame.pack();
                frame.setVisible(true);
            }
        });

Во-первых, я определил композит SWT.

Далее я определил Clabel SWT для заполнения композита. Я использовал Clabel, потому что я использую Clabels на протяжении всей остальной части вида SWT. dummyVideo Является ли JPG, который я создал. JPG составляет 240 х 180 пикселей.

Затем я определил кадр AWT и заполнил его карникой Swing Video. Определение японской первой - это совет, который я поднял из веб-сайта Eclipse.

Использование JPG похоже на использование волшебных чисел в программном коде, а не определяя их в качестве полей. Но, по крайней мере, трюк JPG работал.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top