#!/home/markt/bin/perl -w
use strict;
no strict 'subs';
use lib '..';
use Java;
# Connect to JavaServer
my $java = new Java();
print "going to frame1\n";
# Create my Frame object
my $frame = $java->create_object("java.awt.Frame","Event Example");
# Set the size and show it
$frame->setSize(200,200);
$frame->show();
# Set up an event listener
$java->do_event($frame,"addWindowListener",\&event);
print "going to dialog\n";
my $dialog = $java->create_object("java.awt.Dialog",$frame,"Mark's Dialog");
$dialog->setSize(400,400);
print "going to dialog show\n";
$dialog->setVisible("true:b");
print "back from dialog show\n";
print "going to frame2\n";
my $frame2 = $java->create_object("java.awt.Frame","Mark Rox");
$frame2->setSize(200,200);
$frame2->show();
$java->do_event($frame2,"addWindowListener",\&event);
while(1)
{
print "GO'ing\n";
my $b = $java->go;
last if (!defined $b);
}
sub event
{
my($object,$event) = @_;
my $val = $event->getID->get_value;
if ($val == $java->get_field("java.awt.event.WindowEvent","WINDOW_ACTIVATED")->get_value)
{
print "Window Activated\n";
}
if ($val == $java->get_field("java.awt.event.WindowEvent","WINDOW_CLOSED")->get_value)
{
print "Window Closed\n";
}
if ($val == $java->get_field("java.awt.event.WindowEvent","WINDOW_CLOSING")->get_value)
{
print "Window Closing\n";
$object->dispose;
undef $object;
}
if ($val == $java->get_field("java.awt.event.WindowEvent","WINDOW_DEACTIVATED")->get_value)
{
print "Window Deactivated\n";
}
if ($val == $java->get_field("java.awt.event.WindowEvent","WINDOW_DEICONIFIED")->get_value)
{
print "Window Deiconified\n";
}
if ($val == $java->get_field("java.awt.event.WindowEvent","WINDOW_ICONIFIED")->get_value)
{
print "Window Iconified\n";
}
if ($val == $java->get_field("java.awt.event.WindowEvent","WINDOW_OPENED")->get_value)
{
print "Window Opened\n";
}
}