杰笛公共模块 Common Layer (开源项目)

我们于2007年4月决定开源杰笛公共模块。您可以到github去下载它的源代码。如果您是杰笛的付费用户,杰笛公共模块的源代码已经包括在下载包的src目录下面,您无需单独下载。

杰笛公共模块有超过十万行的程序和30多个组件和工具类,该产品是杰笛产品的基石。从2002年开始,它就是杰笛付费产品的一部分,所以它的质量和稳定性是可以保障的。您可以运行下面的webstart演示来看到该项目中包括的组件。

许可方式

杰笛公共模块有两个许可渠道,都是免费的。这两个许可分别是GPLv2(类路径例外)和免费商业许可。您可以点击链接看到许可的具体内容。第一个许可是在开源界广泛使用的许可。它也是OpenJDK使用的开源许可。第二个许可则是杰笛其它产品的许可一模一样,除了它是免费的。所有杰笛的收费用户都默认用这个许可,这样不需要改到开源许可。

技术支持

很多开源项目缺乏必要的技术支持。为了解决这样的问题,我们对杰笛公共模块的开源模式采用了下面的一些政策:

  • 文档:所有的源代码都有javadoc。另外我们还编写了一个开发员使用手册,上面详细说明了怎样使用每一个组件。最后,我们还提供了很多的包括源代码的示例程序。

  • 错误报告:我们将有专门的资源负责除了错误报告,然后根据优先级,决定修复这些错误。我们也接受来自广大爱好者的错误修复,当然我们的工作人员会认真审核您们的修复代码然后集成到我们的程序中。

  • 社区技术支持:我们提供了一个特别论坛,让你可以得到其他人的帮助下。为了鼓励大家都来贡献,我们也会参与讨论,并且对那些积极参与讨论的杰笛爱好者提供一些免费的产品许可证。
  • 付费技术支持:如果您需要及时专业的支持,您可以随时从我们的网上商店购买杰笛公共模块年度维护更新(产品代码是#2090)。对于那些购买商业产品的客户,杰笛公共模块的技术支持是包括在内,这个论坛是专门为付费用户提供的论坛。

社区贡献

我们可以接受广大开源程序员的贡献,只要您们提供的代码是您们自己写的或者确定代码我们可以使用。如果您发现我们程序的错误,或者有建议,或者有新组件的想法,我们都欢迎您给我们发邮件到support@jidesoft.com.cn。如果必要,我们会给您适当的权限,让您直接修改我们的源代码库。我们当然会审核每个改动然后集成进来。对于那些持之以恒的贡献者,我们会给予适当的奖励,让您们可以免费使用我们的付费产品。

功能简介

界面组件

  • JideTabbedPane - an extended version of JTabbedPane supporting different tab shapes, color themes, shrinkable tabs, close button on tab, editable tab etc.
  • JideSplitPane - an extended version of JSplitPane supporting multiple splits (JSplitPane can only have two splits)
  • JideButton - an ideal replacement for a toolbar button
  • JideSplitButton - a composite component which is a combination of a button and a popup menu
  • Searchable JList, JTree, JComboBox and JTable - type in any text to quickly find matching rows, tree nodes, or table cells
  • SearchableBar - as seen in Mozilla Firefox
  • ResizablePanel, ResizableWindow and undecorated ResizableDialog
  • FolderChooser - allows you to choose a folder
  • RangeSlider - a slider which allows you to select two values to form a range
  • JideScrollPane - column and row footer support for JScrollPane
  • SimpleScrollPane - a scroll pane having four scroll buttons on the four sides.
  • Overlayable - to put a component on top of another component at a specified location in order to provide a hint about how to use a component, to provide a progress indicator or to provide a status indicator beside a component without affecting the existing layout.
  • AutoResizingTextArea - a text area that can automatically resize its height to fit in the content.
  • StyledLabel - A JLabel that support different fonts, colors, and decorative lines.
  • CheckBoxList and CheckBoxTree - use check boxes inside JLists and JTrees.
  • Calculator Component
  • DateSpinner and PointSpinner
  • Popup - support any popup window
  • AutoCompletion and IntelliHints
  • StandardDialog - built on top of JDialog to support common used dialog standards as well as adding missing standard features of any dialogs.
  • ButtonPanel - arrange buttons in different layouts with different gaps based on OS conventions
  • Pre-built panels such as BannerPanel
  • AbstractPage - lazy loading panel with page events (open, closing, closed, etc.), an ideal panel for building dialogs

工具类

  • IconFactory - simplify and unify the usage of icons across the whole application
  • SystemInfo - a utility class which can be used to retrieve information about the current system, including OS name and version, JDK version requirement, etc.
  • A fast gradient paint method in JideSwingUtilities. By leveraging DirectDraw, the fast gradient paint is 2 to 40 times faster than normal GradientPaint.

界面截屏

 


JideTabbedPane
overlayable
Overlayable

各种风格的
JideButton

各种风格的
JideSplitButton

快速GradientPaint

Searchable JList, JTree 和 JTable

Searchable Bar

FolderChooser
 

AutoCompletion 示例1

AutoCompletion
示例2

Calculator

IntelliHints
示例 1

IntelliHints
示例 2

CheckBoxList

CheckBoxTree

RangeSlider

JideScrollPane 示例

StyledLabel

StyledLabelBuilder

MultiplePageDialog ICON_STYLE like Mozilla Firebird

MultiplePageDialog 
ICON_STYLE like IntelliJ IDEA

MultiplePageDialog
LIST_STYLE

MultiplePageDialog
TREE_STYLE

Banners