JTable 为 LocalTime 类型定义编辑器
在以下文档之后,我正在使用Java 8:
我想在编辑JTable中的列时设置一个专门的格式化程序。此列包含 java.time.LocalTime
实例。
JTable table;
...
table.setDefaultEditor(LocalTime.class, new LocalTimeEditor());
其中定义如下(暂定):LocalTimeEditor
public class LocalTimeEditor extends DefaultCellEditor {
JFormattedTextField ftf;
public LocalTimeEditor() {
super(new JFormattedTextField());
ftf = (JFormattedTextField) getComponent();
// Set up the editor for the LocalTime cells.
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("HH:mm:ss");
ftf.setFormatterFactory(new DefaultFormatterFactory(dateFormatter));
但这会导致以下编译错误:
The constructor DefaultFormatterFactory(DateTimeFormatter) is undefined
我想远离这里或这里解释的涉及(+)的解决方案,因为java.util.Date
应该被认为是遗留的(请参阅此处的旧代码)。SimpleDateFormat
DateFormatter
有没有一个解决方案可以将DateTimeFormatter
与JFormattedTextField
集成,或者我被阻止了:
我还想远离MaskFormatter,因为它不允许对类似的东西进行简单的错误处理: ."25:70:90"