我需要一些帮助来解决是否可以创建图标的 ArrayList<>,然后使用这些图标并将它们打印在接口 JLabel 中。我想做的是制作3个按钮,上面写着红色、绿色和蓝色。当你按下一个按钮时,它会形成一个该颜色的正方形。如果我按多次,它会生成多个正方形而不删除以前的正方形。
redBut.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
icon.addIcon(new SquareIcon(50, Color.red));
label.setIcon(icon.getIcon(icon.getIconsSize()));
System.out.println(icon.getIconsSize());
frame.repaint();
frame.pack();
}
});
这是红色按钮,如您所见,当我按下它时,我在 ArrayList 中添加了一个新图标。之后,我尝试通过获取arraylist中某个索引上的图标来将标签设置为该图标,并通过找出arraylist的大小并将其减去1来获取索引号(因为arraylist从0开始) .
我使用 println 来测试它是否真的被添加到数组列表中。
但是我还是不能让它出现在界面上?而且,它可以与多个图标一起使用吗?
编辑:
当您多次单击按钮时,我试图让多个方块出现在窗口中(我认为它们被称为 JFrames?)。无论如何,您是说我只能创建一次图标,然后每次单击按钮时都创建一个新的 JLabel,并将它们存储在列表中,然后用其中一个图标填充 JLabel?