Java 根据枚举类在JLabel中绘制/显示不同圆的最佳方法

Java 根据枚举类在JLabel中绘制/显示不同圆的最佳方法,java,swing,enums,jlabel,geometry,Java,Swing,Enums,Jlabel,Geometry,我有一个基于JLabel的4x4网格布局,并希望在其中显示不同的圆。圆圈的颜色取决于enum类,该类提供三种可能的颜色,如蓝色、黄色和灰色 public enum State { BLUE, YELLOW, GREY } 我以前从来没有画过画,所以我真的不知道如何处理它。 也许我会想到三种不同的方法,比如 if (myfield[x][y] == BLACK) { //Draw a black circle inside the JLabel here //maybe open a

我有一个基于JLabel的4x4网格布局,并希望在其中显示不同的圆。圆圈的颜色取决于enum类,该类提供三种可能的颜色,如蓝色、黄色和灰色

public enum State {
BLUE, YELLOW, GREY
}
我以前从来没有画过画,所以我真的不知道如何处理它。 也许我会想到三种不同的方法,比如

if (myfield[x][y] == BLACK) { 
  //Draw a black circle inside the JLabel here
  //maybe open a new method for that
   } else if...

绘制每个圆。

您的问题是什么?每个枚举都有一个选项,可以为每个项定义方法和额外属性。试试这个!在枚举中,其每个项都有一个定义颜色的属性rgb。然后,不必为每个状态重复代码,只需调用该方法一次。