这是我的enmun课程
public enum CSSFont {
RezeptName("-fx-font: 22 calibri;"),
RezeptNameClicked("-fx-font: 22 calibri; -fx-underline: true; -fx-text-fill: purple"),
RezeptTab("-fx-font: 15 calibri;");
private String font;
private CSSFont(String s) {
this.font = s;
}
public String getFont() {
return this.font;
}
}
如您所见,我创建了一个getFont()
函数来获取每个CSSFont对象的String。有没有办法直接在枚举类中生成String对象(我需要JavaFX中的setStyle()
方法的String),这样我就不必总是写CSSFont.object.getFont()
而是{{} 1}?我试图让CSSFont扩展String,但显然枚举只能实现接口。或者是创建具有静态(最终)String属性的类的唯一解决方案?
答案 0 :(得分:0)
您可以使用以下内容:
public enum MyType {
ONE {
public String toString() {
return "this is one";
}
},
TWO {
public String toString() {
return "this is two";
}
}
}
使用以下方法测试:
public class EnumTest {
public static void main(String[] args) {
System.out.println(MyType.ONE);
System.out.println(MyType.TWO);
}
}
最初取自here
答案 1 :(得分:-1)
您可以覆盖toString方法:
public enum CSSFont {
RezeptName("-fx-font: 22 calibri;"),
RezeptNameClicked("-fx-font: 22 calibri; -fx-underline: true; -fx-text-fill: purple"),
RezeptTab("-fx-font: 15 calibri;");
private String font;
private CSSFont(String s) {
this.font = s;
}
public String getFont() {
return this.font;
}
public String toString(){
return this.font;
}
}
然后你可以得到如下字体:
CSSFont.RezeptName.toString()