我正在用Java编写一个家庭作业计划GUI程序。一个GUI从用户获取有关分配的数据,确定应该完成作业的顺序的优先级,然后允许用户将他们的日程安排视为另一个GUI,在一周的适当日期显示他们将要分配的所有分配为他们工作。
我的问题是我无法在JLists
中正确格式化字符串。见这里:
我正在JList
填充String
来自Homework
PriorityQueue
while(!sun.isEmpty())
sundayListItems.add(sunday.poll().toString());
.
.
.
sundayList = new JList(sundayListItems.toArray());
对象的toString
表示,如下所示:
Homework
我的System.out.print
类中的 String string = nameOfAssignment + " for " + hoursPerDay +" hours";
if (string.length()>17) {//17 characters per line in this JList
String[] words = string.split(" ");
string = "";
int count = words.length;
int i = 0;
while(count>0) {
do{
string += words[i] + " "; //adding words to a line until 17 characters
i++;
count--;
} while(string.length() <= 17);
string += "\n";//skips line when 17 characters
do{
string += words[i] + " ";
count--;
i++;
} while(i < words.length);
string += "\n\n";//separates assignments w/ 2 lines
}
}
return string;
方法看起来像这样,当我放入JList
以查看它是如何工作时,它应该在控制台中工作:
{{1}}
但是,在GUI {{1}}中,字符串没有按照我想要的方式格式化。我希望String在17个字符后回绕到下一行。有人有什么想法吗?