如何解决从 JTable 值到 JTextArea 并计算输出的字符串长度
我最近制作了一个简单的库管理系统,其中使用了多个 JFrame。它显示了从第一个 JFrame 到第二个 JFrame 的 TextArea 的 JTables 值,如下所示:
Book List:
Programming in Java 60
Advanced Learners Communicative English Grammar 50
ICt 70
这里,第一列是书名,第二列是书数。但是,有一个问题。我想这样显示列表:
Book List:
Programming in Java 60
Advanced Learners Communicative
English Grammar 50
ICT 70
所以我尝试了一个想法,它计算来自 Textarea 的书名的字符串长度,如果字符串大小大于 15 或其他什么,那么我使用
打破字符串setLineWrap(true); setWrapStyleWord(true)
并连续打印所有它们。但我遇到了问题。我的代码如下:
第一个 JFrame 的代码显示将 JTable 值传递给第二个 JFrame
public static ArrayList<String> tableview() {
DefaultTableModel model = (DefaultTableModel) table.getModel();
int nRow = model.getRowCount(),nCol = model.getColumnCount();
ArrayList<String> tableview = new ArrayList<String>();
String rowInfo = "";
for (int i = 0; i < nRow; i++) {
rowInfo = rowInfo + (String) model.getValueAt(i,1) + "\t\t\t\t\t" + (String) model.getValueAt(i,4) + ("\n\n");
}
tableview.add(rowInfo);
return tableview;
}
以及第二个 JFrame 的 Textarea 代码,我想在其中显示和计算并拆分字符串
public static void check() {
countarea.append("Book List : \n\n");
@SuppressWarnings("unused")
EntryBooks eb = new EntryBooks();
ArrayList<String> answer = new ArrayList<String>();
for (int i = 0; i < EntryBooks.tableview().size(); i++) {
answer.addAll(EntryBooks.tableview());
}
for (int i = 0; i < answer.size(); i++) {
int len = countarea.getText().length();
if(len >= 20) {
countarea.append(answer.get(i)); // for printing booklist
countarea.setLineWrap(true);
countarea.setWrapStyleWord(true);
}
}
}
但它不起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。