I am involved in the process of training and creating a custom JButton / Component. I have most of all that I need, except that I donβt know how to call actionPerformed on my ActionListners.
code:
package myProjects; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.*; import java.util.ArrayList; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; public class LukeButton extends JComponent{ public static void main(String[] args){ JFrame frame = new JFrame(); frame.setTitle("Luke"); frame.setSize(300, 300); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); LukeButton lb = new LukeButton(); lb.addActionListener(e->{ System.out.println("Success"); }); frame.add(lb); frame.setVisible(true); } private final ArrayList<ActionListener> listeners = new ArrayList<ActionListener>(); public LukeButton(){ } public void addActionListener(ActionListener e){ listeners.add(e); } public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; Shape rec = new Rectangle2D.Float(10, 10, 60, 80); g2.setColor(Color.BLACK); g2.setStroke(new BasicStroke(5)); g2.draw(rec); g2.setColor(Color.BLUE); g2.fill(rec); } }
Does anyone know how to call the "listeners" of an ArrayList after clicking a button? Thanks for taking the time.
source share