Adding ActionListener to a Panel - Panel implements ActionListener vs Panel HAS A ActionListener

点点圈 提交于 2019-12-01 13:00:28

Add a add/RemoveActionListener method to your panel. Use these as proxy to you radio button and register the ActionListener directly to it

Alternatively, you could provide a isSelected method which returns the state of the radio button.

Option 3. Don't extend JPanel at all if you can reach the goal by using it :-)

All JSomething have built-in functionality that's designed to be used as-is. The built-in functionality of a JPanel is that of a general purpose container. As all you are doing is to add children, there's no need to extend - configuring the children with listeners can be done in ... configuration code.

If extending indeed adds functionality (for a JPanel that might be implementing custom background painting), the general rule is - as always for a well-behaved OO citizen - to never expose public api that's not intended for public usage: consequently, variant 1 is not an option.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!