我想在datechooser字段中自动设置今天/实际日期。我已经看过关于此的几个Stackoverflow主题,却找不到解决方法。我不想使用system.out.println();
输出日期,但是我只想将其保存到数据库(MSSQL)。因此,例如,让我向您展示我的意思的照片,如果您对代码有任何疑问,我可以在此处发送,但是由于我不知道在此处输入什么代码对您有帮助,因此我将其留空。
谢谢!
public String getDateToString(Date d) {
DateFormat da = new SimpleDateFormat("dd-MM-yyyy");
return da.format(d);
}
private void tabelaSelectedIndexChange() {
final ListSelectionModel rowSM = table.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (e.getValueIsAdjusting()) {
return;
}
ListSelectionModel rowSM = (ListSelectionModel) e.getSource();
int selectedIndex = rowSM.getAnchorSelectionIndex();
if (selectedIndex > -1) {
Feedback f = ftm.getFeedback(selectedIndex);
//idField.setText(p.getId().toString());
arsyejaArea.setText(f.getArsyeja());
dateChooser.setDate(f.getData());
rcmb.setSelectedItem(f.getRecetaID());
recetaCMB.repaint();
}
}
});
}
private void saveBtnActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
int row = table.getSelectedRow();
if (arsyejaArea.getText().trim().isEmpty() || recetaCMB.getSelectedItem() == null || dateChooser.getDate() == null) {
JOptionPane.showMessageDialog(this, "Nuk i keni mbushur te gjitha hapesirat!");
} else if (row == -1) {
Feedback f = new Feedback();
//p.setId(Integer.parseInt(idField.getText()));
f.setArsyeja(arsyejaArea.getText());
f.setData(dateChooser.getDate());
f.setRecetaID((Receta) rcmb.getSelectedItem());
fr.create(f);
} else {
Feedback f = ftm.getFeedback(row);
//Id nuk e lejojm me ndryshu vetem emertimin ose fielda tjere qe mundeni me pas
f.setArsyeja(arsyejaArea.getText());
f.setData(dateChooser.getDate());
f.setRecetaID((Receta) rcmb.getSelectedItem());
fr.edit(f);
}
//E krijojm ni metode per me i clear fieldat mbasi ti shtojme
clear();
loadTable();
} catch (CrudFormException ex) {
JOptionPane.showMessageDialog(this, "E dhena ekziston!");
}
}
答案 0 :(得分:1)
JCalendar
constructors至少包含3个变体,这些变体似乎允许设置初始或“默认”日期。如果对实现目标存在疑问,则应首先检查API的Java文档。
鉴于我写了这个最小的可重现示例,以使图像在上面的评论中可见,因此我还将分享如何使用JSpinner
进行操作。如果没有其他用途,它演示了如何立即获得.. 的Date
,如所有相关的JCalendar
构造函数中的所有3个中所述。
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.util.*;
public class DefaultDateInSpinner {
private JComponent ui = null;
Date nowDate = new Date(System.currentTimeMillis()); // right NOW!
Date endDate = new Date(System.currentTimeMillis()+1000000);
SpinnerDateModel dateModel = new SpinnerDateModel(
nowDate, nowDate, endDate, Calendar.NARROW_FORMAT);
DefaultDateInSpinner() {
initUI();
}
public void initUI() {
if (ui!=null) return;
ui = new JPanel(new BorderLayout(4,4));
ui.setBorder(new EmptyBorder(4,4,4,4));
JSpinner spinner = new JSpinner(dateModel);
ui.add(spinner, BorderLayout.LINE_START);
}
public JComponent getUI() {
return ui;
}
public static void main(String[] args) {
Runnable r = () -> {
DefaultDateInSpinner o = new DefaultDateInSpinner();
JFrame f = new JFrame(o.getClass().getSimpleName());
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setLocationByPlatform(true);
f.setContentPane(o.getUI());
f.pack();
f.setMinimumSize(f.getSize());
f.setVisible(true);
};
SwingUtilities.invokeLater(r);
}
}
如果无法使其在原始代码中起作用,请编辑以添加 MRE。。请注意,此示例可以复制/粘贴并运行,比包含在其中的不可编译代码段短。问题。