一小段java代码_一小段JAVA代码

楼主你好,不知道我的解释是否到位?=============================================== daysModel = new AbstractTableModel() { //使用匿名内部类新建一个表格模型对象 public int getRowCount() { //获取总行数 return 7; } public int getColumnCount() { //获取总列数 return 7; } public Object getValueAt(int row, int column) { //获取表格的第row行,第column列的值 if (row == 0) { //第一行为星期行 return getHeader(column); } row--; //去掉星期行,下面计算索引时用到 Calendar calendar = (Calendar) one(); t(Calendar。

DAY_OF_MONTH, 1); int dayCount = tActualMaximum(Calendar。DAY_OF_MONTH); //计算每个月第一天是星期几,用于控制第一天的输出位置 int moreDayCount = t(Calendar。

DAY_OF_WEEK) - 1; int index = row * 7 + column; //该单元格的索引 int dayIndex = index - moreDayCount + 1; //第row行,第column列应该显示的日期 if (index < moreDayCount || dayIndex > dayCount) { return null; } else { return new Integer(dayIndex); } } }; // new一个日历表格CalendarTable(从JTable派生), daysTable = new CalendarTable(daysModel, calendar); tCellSelectionEnabled(true); //设置行和列可以同时选中 tSelectionMode(ListSelectionModel。

SINGLE_SELECTION); //设置表格的选中方式为每次只能选中一个单元格 // 使用匿名内部类设置表格的缺省渲染器(渲染器就类似调色板,如你在画画之前要先调好颜色,而调颜色要用到调色板) tDefaultRenderer( tColumnClass(0), new TableCellRenderer() { //该方法用于在绘制单元格之前,对渲染器进行配置 //注意:该方法在是由系统在绘制单元格时自动调用的 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { String text = (value == null) ? "" : String(); //单元格显示的文本 JLabel cell = new JLabel(text); //new一个JLabel对象来表示单元格 tOpaque(true); //设置单元格为透明 if (row == 0) { //第一行为星期行,设置为蓝底白字 tForeground(headerForeground); tBackground(headerBackground); } else { if (isSelected) { //选中时,设置为蓝底白字 tForeground(selectedForeground); tBackground(selectedBackground); } else { //未选中,设置为白底黑字 tForeground(foreground); tBackground(background); } } return cell; //返回绘制此单元格的组件 } }); updateView(); //刷新视图,以显示刚刚绘制的单元格===============================================。

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值