package class10_2_TreasureHunt; import javax.swing.*; import java.awt.FlowLayout; import java.awt.GridLayout; import java.util.ArrayList; import java.util.List; public class TreasureHunt extends JFrame { private List treasures = new ArrayList<>(); private final JLabel pictureLabel; // int myInt = 5000.0; // double myDouble = 10000; public static void main(String[] args) { new TreasureHunt(); } public TreasureHunt() { // setSize(500, 400); setDefaultCloseOperation(EXIT_ON_CLOSE); setLayout(new FlowLayout()); ImageIcon image = new ImageIcon("map.png"); pictureLabel = new JLabel(image); add(pictureLabel); // Note: We won't use a layout since we want to manually position the pinballs. JPanel innerPanel = new JPanel(); innerPanel.setLayout(new GridLayout(1, 1)); pictureLabel.add(innerPanel); innerPanel.setLocation(10, 10); JButton generateButton = new JButton("Generate Treasures"); generateButton.addActionListener(e-> generateTreasures()); innerPanel.add(generateButton); pack(); innerPanel.setSize(innerPanel.getPreferredSize()); setVisible(true); } private void generateTreasures() { for(int i = 0; i<5; i++) { Treasure t = new Treasure(); t.setRandomPosition(pictureLabel.getPreferredSize().width, pictureLabel.getPreferredSize().height); pictureLabel.add(t.getButton()); treasures.add(t); } repaint(); } }