如何从我获得JSpinner的日期?(How to get Date from my JSpinne

2019-09-28 07:45发布

这是所说的纺丝器的代码

Hini = new javax.swing.JSpinner();
Date date = new Date();
SpinnerDateModel sm = new SpinnerDateModel(date, null, null, Calendar.MINUTE);
JSpinner Hini = new JSpinner(sm);
JSpinner.DateEditor de = new JSpinner.DateEditor(Hini, "hh:mm a");
de.getTextField().setEditable( true );
Hini.setEditor(de);

这是我多么希望它得到的值,但它总是显示“00:00”

    `SimpleDateFormat formater = new SimpleDateFormat("HH/mm");
     String spinnerValue = formater.format(Hini.getValue());
     System.out.println(spinnerValue);`

我也试过,但它始终显示的实际时间,不是我挑

Hini = new JSpinner(sm);
de = new JSpinner.DateEditor(Hini, "hh:mm a");
de.getTextField().setEditable( false );
Hini.setEditor(de);
System.out.println("Spinner:      "+de.getFormat().format(Hini.getValue()));

Answer 1:

你似乎创造了两个实例JSpinner

// Instance(?) field here...
Hini = new javax.swing.JSpinner();
Date date = new Date();
SpinnerDateModel sm = new SpinnerDateModel(date, null, null, Calendar.MINUTE);
// Local field here
JSpinner Hini = new JSpinner(sm);
JSpinner.DateEditor de = new JSpinner.DateEditor(Hini, "hh:mm a");
de.getTextField().setEditable( true );
Hini.setEditor(de);

所以,我只能猜测,当地的领域是什么是被添加到该用户界面和实例字段被忽略了,这意味着,无论用户进入该领域没有被设置为实例字段。

丢弃第二磁场的形成,并用其替换Hini.setModel(sm);

而不是直接从格式化值JSpinner ,你应该简单地获取到的基准Date值,只有格式时,你真的需要。 这为您提供了更灵活的解决方案



文章来源: How to get Date from my JSpinner?