我创建了一个交互式日历作为JTable,但是,我想根据我拥有的数据更改某些单元格的背景颜色.我想出了如何获得我需要编辑的单元格的位置,但我不知道如何将单元格作为一个组件放在该位置,这样我就可以编辑单元格背景和前景.
所以基本上我有单元格的(x,y)位置.我想使用它并让细胞改变它的背景颜色.
这就是我创建日历的方式:
public static JTable createInteractiveCalender(int month, int year) {
JTable calender = new JTable(Calender.getMonthsCalender(month, year), new String[] {"Su","Mo","Tu","Wed","Th","Fri","Sat"}){
public boolean isCellEditable(int row, int column) {
return false;
};
};
calender.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
calender.setCellSelectionEnabled(true);
return calender;
}
Run Code Online (Sandbox Code Playgroud)
这就是我得到我想要标记的日期的方式:
public static ArrayList<Date> getDatesInSpecificMonth(ArrayList<Date> allDates, int month) {
DateFormat df = new SimpleDateFormat("MM");
ArrayList<Date> dates = allDates;
for (Date d: dates)
if(Integer.parseInt(df.format(d)) != month)
dates.remove(d);
return dates;
}
Run Code Online (Sandbox Code Playgroud)
这是我试图在日历上标记日期时遇到的问题:
public static void markDatesOnCalender(DefaultTableModel model, Section sec, int datesToMark, int month, int year) { …Run Code Online (Sandbox Code Playgroud)