I would like to use a more complex renderer consisting of several components for a list (more precisely something like this (a textfieldinput with some buttons arranged in a panel). However when I try to use a button in a list it seems to ignore clicks.
Minimal example
from javax.swing import DefaultListCellRenderer
from javax.swing import DefaultListSelectionModel
from javax.swing import JButton
from javax.swing import JLabel
from javax.swing import JPanel
from javax.swing import JList
from javax.swing import JFrame
def printer():
print "pressed the button"
class cellRenderer(DefaultListCellRenderer):
def getListCellRendererComponent(self, theList, value, index, selected, hasFocus):
renderer = DefaultListCellRenderer.getListCellRendererComponent(self, theList, value, index, selected, hasFocus)
if selected:
pan = JPanel()
pan.add(JLabel('beer'))
pan.add(JButton('get one', actionPerformed=printer))
renderer = pan
return renderer
panel = JFrame('example', size=(200,200))
configurations = JList([1,2,3,4],
cellRenderer = cellRenderer(),
selectionMode = DefaultListSelectionModel.SINGLE_SELECTION )
panel.add(configurations)
panel.visible = True
edit:added minimal example as suggested. Updated question since original problem was solved during minimal example creation