Должен ли я создать графический интерфейс Java для программы командной строки Perl? - PullRequest
2 голосов
/ 04 февраля 2010

У меня есть программа командной строки Perl, для которой требуется графический интерфейс. Я вижу, что это в основном делается с помощью GTk.

Однако мы бы хотели сделать это на Java, как и для повторного использования для другого настольного приложения.

Есть ли проблемы в следовании подходу Java. Что бы вы порекомендовали?

Ответы [ 4 ]

4 голосов
/ 05 февраля 2010

Если у вас установлен Firefox на целевых платформах, я работал над модулем XUL :: Gui , на CPAN, который использует Firefox для визуализации своего графического интерфейса. Он все еще находится в разработке, но должен быть достаточно стабильным для использования в большинстве случаев. Платформа HTML / XUL не является Java, но является хорошим решением для быстрого создания прототипов графических интерфейсов в Perl. Или, конечно, он может содержать Java-апплет. Тем не менее, я бы предположил, что если вы планируете повторно использовать графический интерфейс для Java-приложения, его создание в основном на Java и создание / реализация протокола обмена сообщениями между двумя языками было бы легче переназначить, чем проектирование интерфейса на стороне Perl. Тем не менее, вот краткий пример создания графического интерфейса для приложения командной строки:

use XUL::Gui;

display Window title => 'Foo Processor',
    Hbox(
        (map {
            my $id = $_;
            CheckBox id => $id,
                label   => "use $id",
                option  => sub {shift->checked eq 'true' ? " -$id" : ()}
          } qw/foo bar baz/
        ),
        TextBox( id => 'num', 
             type   => 'number', 
             option => sub {' -num ' . shift->value}
        ),
        Button( label => 'run', oncommand => sub {
            my @opts = map {$ID{$_}->option} qw/foo bar baz num/;
            $ID{txt}->value = `fooproc @opts`;
        }),
    ),
    TextBox( FILL, id => 'txt' );

XUL::Gui также использует знакомые технологии проектирования, такие как HTML и CSS, что сводит к минимуму кривую обучения. XUL - это язык разработки графического интерфейса Mozilla, который предоставляет множество полезных виджетов (и это язык, на котором написан сам графический интерфейс Firefox).

1 голос
/ 04 февраля 2010

Perl кросс-платформенный, как и Gtk, но вам придется распространять соответствующие библиотеки и двоичные файлы для запуска вашего приложения. У Perl Foundation есть небольшая статья на эту тему , но она не очень подробная.

0 голосов
/ 04 марта 2011

в java запрограммирован общий интерфейс командной строки на основе xml:

http://sourceforge.net/projects/japag/

Я думал о создании своей собственной программы на основе графического интерфейса, но пока не смог ее использовать. Но определенно стоит попробовать, если вы не хотите тратить на это много времени.

0 голосов
/ 04 февраля 2010

Обратите внимание, что существует некоторая интеграция с Perl / Java (подробнее см. в этом руководстве ).

Вы можете использовать это для вызова Java Swing GUI поверх вашего сценария Perl.

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