java - 如何禁用 JXDatePicker 上的特定日期

标签 java swing

我正在做一个连接到mysql数据库的系统(java应用程序)。我使用 JXdatepicker

我需要禁用已记录在数据库中的特定日期。

我环顾四周,看到了这个:

Date[] dates = {new date()};

jXDatePicker1.getMOnthView().setUnselectableDates(dates);

所以我尝试了一下

try {
    Statement stmt = MyConnection.getConnection().createStatement();
    ResultSet rs;
    rs = stmt.executeQuery("SELECT date FROM transactions"); 
    while(rs.next()){
        Date [] dates = {fromStringToDate(rs.getString("date"))};
        JXDatePicker.getMonthView().setUnselectableDates(dates);
    }

    MyConnection.getConnection().close();
} catch (Exception e) {
    System.err.println("Got an exception! ");
    System.err.println(e.getMessage());
}

setUnselectableDates() 方法有效,但它只禁用了我的数据库中的最后一个日期项目。我不太确定如何在 while 循环中编写它。

最佳答案

您应该使用ArrayList类来收集所有日期,然后将其转换为如下所示的数组:

rs = stmt.executeQuery("SELECT date FROM transactions"); 
List<Date> dates = new ArrayList<>();
while(rs.next()){
    dates.add(fromStringToDate(rs.getString("date")));
}
JXDatePicker.getMonthView().setUnselectableDates(dates.toArray(new Date[0]));

关于java - 如何禁用 JXDatePicker 上的特定日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60601922/

相关文章:

java - 如何像横版卷轴游戏那样换行?

java - 如何向 JOptionPane 按钮添加鼠标监听器?

java - 使用不同的 JPanel 替换 JPanel

java - 如何设置按钮上的文字颜色? java

java - 使用特定目录的文件名填充 JComboBox

java - 如何通过Java程序了解平台

java - Jackson JSON序列化,通过级别定义避免递归

java - 从父类(super class)中获取子类的名称

java - JPQL:解析查询时出现语法错误,意外标记

java - 如何遍历 swing 界面中的所有按钮?