Java 申请已读及未读书籍
我对Java 申请已读及未读书籍,java,swing,Java,Swing,我对Java和编程相当陌生,希望对我要编写的这个测试应用程序有一些建议 总体思路是,它将包含一个图书列表,其中包含标题,作者,日期戳,以及已读或未读状态 当读取状态变为真时,必须应用日期戳 它将有一个GUI,以表格格式按字母顺序显示书籍。如果可能,我希望列名称是可过滤的,即如果单击标题,它应该按标题排序,再次单击,然后按降序排序。与作者和状态类似 我想有一个搜索字段,可以根据标题和作者搜索书籍。 我还希望能够通过单击弹出窗口的按钮来添加书籍,以输入标题,作者,以及阅读状态 应用程序将在PC上运行
Java
和编程相当陌生,希望对我要编写的这个测试应用程序有一些建议
总体思路是,它将包含一个图书列表,其中包含标题
,作者
,日期戳
,以及已读或未读
状态
当读取状态
变为真时,必须应用日期戳
它将有一个GUI,以表格格式按字母顺序显示书籍。如果可能,我希望列名称
是可过滤的,即如果单击标题
,它应该按标题
排序,再次单击,然后按降序排序。与作者
和状态
类似
我想有一个搜索
字段,可以根据标题
和作者
搜索书籍。
我还希望能够通过单击弹出窗口的按钮来添加书籍,以输入标题
,作者
,以及阅读状态
应用程序将在PC
上运行,因此我认为通过序列化
来存储状态是可以的
我需要一些建议,我的计划是:
- 在课堂上写这本书 创建它的字段、构造函数、getter和setter等
- 编写库类
包含图书馆中书籍的列表(此处最好使用什么?
etc?) 将构建GUI、读入对象并填充用于表信息的库的worker类。我正在粗略地构建这样一个表,我会使用ArrayList
JTable
状态的复选框,可以单击该复选框并弹出一个确认更改状态的弹出窗口
我相信,一旦得到反馈,我还会有更多的问题:)谢谢你的建议。[我已经创建了一个解决方案的草稿,请查看并根据需要进行改进][1]
[1]:到目前为止,你的想法还不错。首先实现它,然后进一步思考。使用接口。对于您的库
类,我将使用一个。我认为不应该存在重复的Book
实例,然后选择一个(没有重复项的Collection
的子类)。作为集合的实例化
可以使用ArrayList
或LinkedList
。至于集合
TreeSet
,HashSet
或LinkedHashSet
。感谢您提供的JTABLE,我如何通过选择column对其进行排序?另外,如何将库集合中的对象放入多维数组以填充表?谢谢你的建议。通过我计算出的列进行排序:bookTable.setAutoCreateRowSorter(true);这里有一个复选框示例,谢谢,非常好,虽然不是我要寻找的100%,而且我想自己编写大部分代码,但做得很好。我几乎所有的东西都在工作。我扩展了DefaultTable模型,覆盖了isCellEditable和getColumnClass方法,现在我的表中有了我想要的复选框。我现在的问题是,我需要它来实际影响对象的状态。因此,如果我选中一个框,它必须将该字段更改为true并更新表视图。有什么建议吗?如果你发布代码会有帮助的。我认为您可以使用操作处理程序,并在该处理程序的方法中,使用getter/setter更新状态。