require 'tk' f = TkFrame.new.pack scr = TkScrollbar.new(f).pack('side'=>'right', 'fill'=>'y') list = TkListbox.new(f).pack('side'=>'right') list.yscrollbar( scr ) for i in 0..20 list.insert(i, 'item ' + i.to_s ) end label = TkLabel.new(nil, 'text'=>'no item is selected').pack list.bind('ButtonRelease-1', proc{ label.text 'index ' + list.curselection.to_s + ' is selected' }) Tk.mainloop