3

有人有使用 SwingX 的经验吗?我想使用 JXMonthView 并修改它的组件。我可以毫不费力地使用它。但是,当我尝试真正掌握底层子组件时,我失败了。我想更改仅显示月份的组件使用的字体样式和颜色。我正在使用 SwingX 1.6.2。

4

2 回答 2

2

基本上,JXMonthView没有要修改的组件(对于一个例外,请参见下文)。相反,它的绘制是通过渲染机制完成的,类似于将单元格渲染为表格/树/列表。SwingX'ish 自定义渲染视觉属性的方式是通过 Highlighter 来装饰渲染组件。

不幸的是,进化被困在中间的某个地方:这样做既不容易也没有真正的公众支持。合作者在 plaf.basic:

  • CalendarRenderingHandler:要实现的接口
  • BasicCalendarRenderingHandler:包私有的默认实现
  • BasicMonthViewUI:有一个工厂方法来创建和返回要使用的处理程序

所以自定义 JXMonthView 的视觉效果是一件很麻烦的事,涉及到很多子类化。从好的方面来说:swinglabs-demos 有一个例子说明如何做到这一点

MonthViewExtDemo

铜珍妮特

PS:您可能会考虑在SwingLabs 论坛上发布 SwingX 特定问题- 尽管由于 java.net 的迁移问题,它不像以前那样活跃,叹息

于 2011-03-29T12:28:46.503 回答
1

我认为您可以获取 MonthViewUI 并进行所需的更改。看看JXMonthView源码

于 2011-03-28T22:04:34.540 回答