我有以下课程,Screen
已经定义了toString()
。
public class ScreenTime {
Screen screen;
int filmId;
Date date;
Time startTime;
Time endTime;
}
我要做的就是使用java.text.Format
创建一个自定义格式器,以便在上下文中使用时仅获取Screen.name
。
ScreenFormat fmt = new ScreenFormat("name");
String result = fmt.format(myScreenTimeObject);
我正在为CellFactory
使用自定义TableView
,如下所示。
colStart.setCellFactory(new ColumnFormatter<ScreenTime, Time>(new SimpleDateFormat("HH:mm")));
新格式化程序的目的是在CellFactory
创建过程中使用。
答案 0 :(得分:0)
我做到了,如下。
public class ScreenFormat extends Format {
private String pattern;
public ScreenFormat(String pattern) {
this.pattern = pattern;
}
@Override
public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
switch (pattern) {
case "name":
Screen screen = (Screen) obj;
toAppendTo.append(screen.getName());
break;
}
return toAppendTo;
}
@Override
public Object parseObject(String source, ParsePosition pos) {
return null;
}
}