小编Bla*_* BK的帖子

JTable:如何将单元格作为给定位置的组件

我创建了一个交互式日历作为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)

java swing calendar jtable

5
推荐指数
1
解决办法
2136
查看次数

标签 统计

calendar ×1

java ×1

jtable ×1

swing ×1