在本文中,我们将绑定到一个名为bookings的MS SQL数据库。在那里,我们将从名为booking_data的表中选择所有数据。数据是DateTime值。我们将使用这些值来更改简单Java应用程序中相应日历单元格的背景。Java应用程序呈现使用MindFusion Scheduler for Java库构建的单月日历。
I. MS SQL EXPRESS服务器配置
我们从https://www.microsoft.com/en-us/sql-server/sql-server-downloads下载并安装MS SQL EXPRESS服务器。该安装还包括一个名为“Sql Server Configuration Manager”的应用程序。我们启动该应用程序并单击“SQL Services”选项卡。我们需要确保两个服务正在运行:
- SQL Server
- SQL Server Browser
您可以通过按顶部工具栏中的箭头来启动这些服务。如果您无法执行此操作,则需要更改此服务的“Start Mode”。双击它,然后在出现的“Properties”对话框中单击“Service”选项卡。在那里,您将找到“Start Mode”属性并将其更改为“Manual”。完成此操作后,您可以从工具栏图标启动,停止或暂停服务。
![2eef08e4230691ebf11bb5e57963a175.png](https://i-blog.csdnimg.cn/blog_migrate/6e518aeb9ea0275858d4c60440ad2754.jpeg)
要启动SQL Server服务,您可能必须将其“Start Mode”更改为“Manual”。
然后我们单击“SQL Native Client”节点,然后选择“Client Protocols”选项卡。我们确保启用TCP/IP协议。
![0964f877a4e1f899a69d27f31e2ee0f8.png](https://i-blog.csdnimg.cn/blog_migrate/ea13da1c89e9d5a391a9eba361d43543.jpeg)
确保已启用TCP/IP协议以使JDBC连接成功
下一步是从https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017下载Microsoft SQL Server Management Studio
一旦我们安装并启动它,我们就可以创建一个名为bookings的新数据库。我们右键单击Databases菜单并选择“New Database”。我们称之为“预订”。然后我们在“预订”下展开树,然后右键单击“Tables”节点。将打开一个窗口,我们可以在其中定义新表的列。我们添加两列:
- 类型为整数的id,我们通过右键单击它来设置主键。
- dates_date类型为DateTime,它将保存已预订的日期。
![fe713fec606a6cc5ff4e3dac42ba4b99.png](https://i-blog.csdnimg.cn/blog_migrate/6fd71441d0c63a6fa1a9ed7aa519ceff.jpeg)
MS SQL Server management Studio:用于定义新表的对话框
完成后我们选择保存,此时我们可以为我们的表提供一个名称。我们称之为booking_data。定义表后,我们右键单击它并选择“Edit Top 200 Rows/编辑前200行”。在那里我们只增加了三天(1月16日,1月22日,1月26日),所有这些都在当月。数据自动保存。
![7554aee1f4bd4eef80e8dfc3d0c5f943.png](https://i-blog.csdnimg.cn/blog_migrate/233aa3c8671cc125821677ea62dcfcf9.jpeg)
下一步是创建一个将连接到此数据库的新用户。我们单击导航树上的“安全”节点,然后单击“登录”。右键单击,我们选择“新登录&r��然后我们定义一个Calendar变量并将其分配给Calendar类的新实例。
public MainWindow() throws ClassNotFoundException{setDefaultCloseOperation(EXIT_ON_CLOSE);setSize(368, 362);setTitle("MindFusion.Scheduling Sample: Minimal Application");calendar = new Calendar();calendar.setTheme(ThemeType.Light);......................................................establishConnection();}private Calendar calendar;
在方法结束时,我们调用establishConnection并连接到MS SQL Server。
IV.设置日历日期的样式
我们的示例应用程序的目的是为日历中与我们从数据库中读取的日期对应的单元格着色。为了做到这一点,我们使用DATESTYLE,设置了一些有用的外观性能到与指定的单元格区域类setFrom和setTo方法。我们使用setBrush来更改单元格的背景。
while (rs.next()) {System.out.println(rs.getString("booked_date"));Date date = rs.getDate("booked_date");DateStyle dStyle = new DateStyle();dStyle.setFrom(new DateTime(date));dStyle.setTo(new DateTime(date));Style style = new Style();style.setBrush(new SolidBrush(Color.pink));dStyle.setStyle(style);calendar.getDayStyles().add(dStyle);}
最后,我们将样式添加到日历的DayStyles集合中。 这是最终的申请:
![6ce8ab2da0fe53099c699d16eb5f2bca.png](https://i-blog.csdnimg.cn/blog_migrate/7834f60a1c271f53aeaf29d67a6feb9b.jpeg)
关于用于Java Swing的MindFusion调度:该库提供了广泛的功能集,用于创建和自定义各种日历,任务列表,时间管理表,资源分配表等。它拥有各种用于自定义外观的选项和用于处理用户操作的众多事件。分发档案包括大量样本和大量文档。
点击“了解更多”下载产品最新试用版
↓↓↓