Tk::JComboBox - Kombinationsfeld

Tk::JComboBox ist eine recht umfangreiche Implementierung eines Kombinationsfelds. Die Tk::JCombobox deckt dem Funktionsumfang von Tk::Optionmenu und Tk::BrowseEntry locker ab.

Das Widget bringt ein umfangreiches Tutorial mit, welches die Funktionsvielfalt zusammen mit Code-Beispielen erläutert: Exploring Tk::JComboBox - A Tutorial.

#!perl

use strict;
use warnings;
use Tk;
use Tk::JComboBox;

my $variable;
my $mw = MainWindow->new;
my $jcb = $mw->JComboBox(
	-choices => [
		{ -name => 'Black',  -value => '#000000' },
		{ -name => 'Blue',   -value => '#0000ff' },
		{ -name => 'Green',  -value => '#008000' },
		{ -name => 'Purple', -value => '#8000ff' },
		{ -name => 'Red',    -value => '#ff0000' },
		{ -name => 'Yellow', -value => '#ffff00' }
	],
	-textvariable => \$variable,
)->pack;
$jcb->Subwidget('Entry')->bind('', [\&submit, $jcb]);
$jcb->focus;

$mw->MainLoop();

sub submit {
   my ($entry, $jcb) = @_;
   print "\nSubmit Called\n";
   my $index = $jcb->getSelectedIndex();
   print "Index: $index \n";
   print "value: " . $jcb->getSelectedValue() . "\n";
   print "name:  " . $jcb->getItemNameAt($index) . "\n";
   print "textvariable: $variable \n";
}
Top