gpt4 book ai didi

java - 谷歌日历,如 Swing 应用程序

转载 作者:行者123 更新时间:2023-11-30 07:32:04 25 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?更新问题,使其成为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




语境

我正在开发一个基于 Java 的桌面应用程序,该应用程序为一所高中预订教室。每个预订都保存在 RoomBooking 类的对象中,其内容如下(简化):

public class RoomBooking implements java.io.Serializable {

private int id;
private String roomName, userName;
private Date bookDate;
private int beginTime;
// represents the reservation begin time (i.e. 8 means 08.00)
private int endTime;
// represents the reservation end time (i.e. 9 means 09.00)
private int roomId;

//Constructor and setters-getters follow the above code
.....
}

我从数据库中检索预订并将它们放入一个 ArrayList 对象中,该对象保留一个 RoomBooking 类的实例列表(即 ArrayList)。列表中对象的顺序基于预订日期的升序。

问题定义

现在我尝试创建一个基于 Swing 的 UI(即 JFrame),它使用 JTable 显示一个 5 x 7 的网格 View (它应该看起来像一个表格日历,就像谷歌日历一样)。 Jtable 的列应该像星期一、星期二....星期日,并且 Jtable 中的单元格将根据月份将特定月份的天数保持在 1 到 28、30 或 31 之间(例如,2 月为 28)。此处的目的是为存在预订的单元格着色并在其中放置一些信息性文本(例如预订时间间隔,例如 08.00 - 09.00)

考虑到前面提到的 ArrayList 中的数据是线性的并且根据预订日期排序,我需要将每个预订映射到上述 JTable 中的特定单元格。

为此,我尝试编写一个方法来接收预订日期并返回 Jtable 中相关单元格的相应行号和列号。这引入了几个附带问题。例如,如果每月的第一天不是从星期一开始,上述方法应该能够移动行列索引,它将相应地返回。

问题

i) 你知道是否有一个免费提供的 java bean 组件将提供一个表格日历 View ,其列是星期几,单元格是一个月中的几天(单元格应该能够获取文本中的其他数据,例如 08.00 -09.00)?

我在谷歌搜索中找到了一些商业解决方案,但我对开源解决方案/提案感兴趣。我有点压力,一个现成的组件将不胜感激。

ii) 是否有人遇到过与问题定义中描述的类似的问题?如果是这样,您能否为我提供一些关于编写上述映射器方法的指南。

任何建议/帮助都会受到高度赞赏。

提前致谢。

最好的祝福,
法尔达

最佳答案

不是您问题的答案,但您必须构建三个 View

1/您可以将 CalendarView 的网格放到 JTable (季度/半年/年 CalendarView 的最佳方式),

但其中一部分基于JButton/JTextField/JLabels放入JPanelGridLaout/GridBagLayout(7x7) ,

最简单的方法是,如果你放在这里 JButtons ,对于上个月/下个月的良好输出禁用天数

2/对于 WeekView 使用了 JTable一个TableColumn , 那里放 JPanel包含 JLabel ,因为有可能穿透了一些棚屋(或其他 JComponents#setOpaque(false) ),

或使用 GridLayout(1, 7, 5, 5);7 x JPanel对于 DayViewShedule(s)

3/对于带有 GridLayout(1, 24, 5, 5); 的 DayView 24 x JPanel对于 HourShedule(s)

关于java - 谷歌日历,如 Swing 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6841315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com