Если у вас установлен 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).