Добавление компонентов Swing в плагин Eclipse RCP - PullRequest
3 голосов
/ 03 января 2011

У меня возникают проблемы при встраивании компонентов Swing в SWT (например, плагин eclipse ..). В настоящее время у меня есть:

 public void createPartControl(Composite parent) {
  java.awt.Frame f = SWT_AWT.new_Frame(parent);
  JPanel panel = new JPanel(new BorderLayout());
  JButton button = new JButton("Swing button");
  JLabel label = new JLabel("Swing label");
  panel.add(label,BorderLayout.NORTH);
  panel.add(button,BorderLayout.CENTER);
  f.add(panel);
 }

Этот фрагмент кода не загружается, плагин аварийно завершает работу в первой строке...

Есть идеи, как включить эти компоненты?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 03 января 2011

http://www.eclipse.org/articles/article.php?file=Article-Swing-SWT-Integration/index.html

Как минимум, встраивание кадра AWT в составную часть SWT - это всего две простые строки кода

Composite composite = new Composite(parent, SWT.EMBEDDED | SWT.NO_BACKGROUND);
Frame frame = SWT_AWT.new_Frame(composite);
2 голосов
/ 03 января 2011

Поскольку ваш код не выполняется в первой строке, пожалуйста, сначала убедитесь, что родительский элемент Composite создан с использованием SWT.EMBEDDED. Если это не так, создайте дочерний композит, используя SWT.EMBEDDED, а затем вызовите

java.awt.Frame f = SWT_AWT.new_Frame(newChildComposite);

Экземпляр org.eclipse.swt.Composite создан со стилем SWT.EMBEDDED. это стиль сигнализирует, что кадр AWT должен быть встроенным в композит. вызов статического метода new_Frame создает и возвращает такой кадр. кадр может быть заполнен AWT и / или компоненты Swing.

Взято из Article-Swing-SWT-Integration

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...