Java:在单独的JPanel组件中处理组件上的事件
所以我有一个JFrame,我添加了一个定制的JPanel组件 JPanel组件有一个按钮,我想在JFrame中将侦听器附加到该按钮Java:在单独的JPanel组件中处理组件上的事件,java,events,jframe,jpanel,handler,Java,Events,Jframe,Jpanel,Handler,所以我有一个JFrame,我添加了一个定制的JPanel组件 JPanel组件有一个按钮,我想在JFrame中将侦听器附加到该按钮 最好的方法是什么?除非我读错了,否则当您自己添加了JPanel时,您可以在按钮上添加一个actionlistener JButton.addActionListener(... some listener); 还是你在问别的问题?e、 g.如果定制JPanel不是由您开发的。然后,在这种情况下,查看面板是否公开API以向其按钮添加侦听器,如果没有,则最后一个选项是
最好的方法是什么?除非我读错了,否则当您自己添加了JPanel时,您可以在按钮上添加一个actionlistener
JButton.addActionListener(... some listener);
还是你在问别的问题?e、 g.如果定制JPanel不是由您开发的。然后,在这种情况下,查看面板是否公开API以向其按钮添加侦听器,如果没有,则最后一个选项是迭代其子项以查找JButton:
Component[] comp = customPanel.getComponents();
for(Component c: comp) {
if(c is a button i am interested in) {
c.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// implement the logic of what happens when button is clicked!
}
});
}
}
如何实现动作侦听器的API?(我也是JPanel组件的开发人员)