のエディタを定義します。この列にはjava.time.LocalTime
個のインスタンスが含まれています。私が関与する溶液から離れて滞在したいと思いますJTableはドキュメントに従った後、私は、Java 8を、使用していますにLocalTimeタイプ
The constructor DefaultFormatterFactory(DateTimeFormatter) is undefined
:
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));
しかし、これは、次のコンパイルエラーにつながる:LocalTimeEditor
は、(仮称)によって定義される
JTable table;
...
table.setDefaultEditor(LocalTime.class, new LocalTimeEditor());
SimpleDateFormat
(+ DateFormatter
)hereまたはhereとなります。java.util.Date
は注意してください。昔のコードhereを参照してください。
JFormattedTextField
でDateTimeFormatter
を統合するためのソリューションがあり、または私がによってブロックされています:
私もそれが簡単にできないため、MaskFormatterから離れて滞在したいのですがエラーハンドリング:"25:70:90"
。 DefaultFormatterFactorの引数を1として
[JFormattedTextField.AbstractFormatter](https://docs.oracle.com/javase/8/docs/api/javax/swing/JFormattedTextField.AbstractFormatter.html)を拡張する必要がありますか?次に、2つの抽象メソッドを実装するだけです。 – matt
JDKのjavadocの階層に従えば、あなたが述べたすべての制約の中で、JDK内には解決策がないことがはっきりと分かります。あなたの唯一のオプションは@mattが言ったようにあなた自身を実装することです。 – Gene