如何在哈佛引用格式中将值从JTable设置为文本区域

时间:2015-01-20 06:11:50

标签: java swing jtable jtextarea

我正在开发参考书目生成器应用程序,我希望JTable中的值以{{1>} Hardvard参考格式显示

这是获取和打印值的代码:

textarea

1 个答案:

答案 0 :(得分:1)

您可以使用String#format(...)方法生成要以所需格式显示在文本区域中的文本。例如:

String text = String.format("%1s, %2s (%3s) %4s"
                  , js.getAuthorLastName().toUpperCase()
                  , js.getAuthorFirstName().toUpperCase()
                  , js.getYearPublished()
                  , js.getTitle()
);
textArea.setText(text);

这种格式会产生如下:

SOMMERVILLE, IAN (2011) Software engineering

注意:我不知道哈佛参考系统,但我希望你明白这一点。

注2: JTextArea不支持粗体或斜体等文字格式。如果需要,您可能希望使用JEditorPane or JTextPane来满足此要求。

题外话

您可以考虑使用允许您保存此类对象的自定义表模型,而不是将表的单元格手动映射回JournalCitation对象。像DataObjectTableModel或Rob Camick的RowTableModel / ListTableModel / BeanTableModel之类的东西可能有助于避免重新发明轮子。