Поддержка плагинов для Java-приложения Swing (например, Eclipse) - PullRequest
2 голосов
/ 30 марта 2010

Мне нужно добавить поддержку плагинов в приложение Java Swing (как в Eclipse).

Плагин должен иметь возможность добавлять новые элементы меню и компоненты вкладок в приложение Swing.

Я ищу фреймворки или библиотеки, которые его поддерживают. До сих пор я нашел Java Plugin Framework http://jpf.sourceforge.net/ и планирую использовать его.

Есть ли другие лучшие альтернативы этому?

Ответы [ 3 ]

2 голосов
/ 30 марта 2010

Вы можете использовать систему плагинов из eclipse / osgi без использования SWT. Это минимальное отдельное приложение "Hello world". Вы расширяете точку расширения "org.eclipse.core.runtime.applications" и можете поместить все, что захотите, в класс Application Вы можете сгенерировать exe как средство запуска, используя eclipse и используя инфраструктуру RCP из него.

пакетный тест;

import org.eclipse.equinox.app.IApplication; import org.eclipse.equinox.app.IApplicationContext;

Application.java

public class Application implements IApplication {

    public Object start(IApplicationContext context) throws Exception {
        System.out.println("Hello world!");
        return IApplication.EXIT_OK;
    }

    public void stop() {
        System.out.println("By by!");
    }
}

plugin.xml

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

   <extension
         id="application"
         point="org.eclipse.core.runtime.applications">
      <application>
         <run
               class="test.Application">
         </run>
      </application>
   </extension>

</plugin>

MANIFEST.MF

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: Test; singleton:=true
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
0 голосов
/ 30 марта 2010

Несмотря на то, что использование OSGi / Equinox будет лучшим вариантом - есть альтернативное решение. Это называется Java Plugin Framework. Взгляните на это здесь

http://jpf.sourceforge.net/

0 голосов
/ 30 марта 2010

Есть Netbeans RCP. В дополнение к инфраструктуре плагинов он предоставляет систему стыковки окон, которая может быть очень полезна в вашем приложении (вы можете легко добавлять и удалять пункты меню и компоненты вкладок в плагинах, используя, например, xml-файлы). Но фреймворк большой, и нужно что-то делать по-сетевому.

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