在二维ArrayList中保存形状和颜色

我有一个GUI,它使用其参数调用函数brushPoint()。然后,我试图将生成的形状及其相应的颜色保存在二维ArrayList中,但无法弄清楚该怎么做。还是有一种更简单的方法来实现这一目标?


ArrayList<ArrayList> coloredShapes = new ArrayList<>();


public void brushPoint(int x, int y, int brushSize, Color color) {

    coloredShapes.add(new ArrayList(new Ellipse2D.Double(x - (brushSize / 2), 

            y - (brushSize / 2), brushSize, brushSize), color));

    repaint();

}

数组应该看起来像这样:


Shape1 - Color1

Shape2 - Color2

Shape3 - Color3


海绵宝宝撒
浏览 192回答 1
1回答

蓝山帝景

是的,您可以使用map归档需求。JavaMap具有默认的键,值功能,因此您可以将键用作形状名称,将值用作颜色。请检查下面的代码,如果要获取问题,请编写注释或修改您的问题。Map<String,String> map=new HashMap<String,String>();&nbsp;&nbsp;&nbsp; map.put("Shape1","Color1");&nbsp;&nbsp;&nbsp; map.put("Shape2","Color2");&nbsp;&nbsp;&nbsp; map.put("Shape3","Color3");&nbsp;&nbsp;&nbsp; // Print output into console&nbsp;&nbsp; for(Map.Entry m:map.entrySet()){&nbsp;&nbsp;&nbsp; &nbsp;System.out.println(m.getKey()+" "+m.getValue());&nbsp;&nbsp;&nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java