Видео качели jpanel внутри SWT View
Вопрос
Я строю приложение 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 работал.