JList中的Java GUI字符串格式有问题

JList中的Java GUI字符串格式有问题,java,string,swing,formatting,jlist,Java,String,Swing,Formatting,Jlist,我正在用Java制作一个家庭作业计划器GUI程序。一个GUI接收用户关于作业的数据,确定作业顺序的优先级,然后允许用户查看他们的日程安排,作为另一个GUI,显示他们将在一周中适当的几天内完成的所有作业 我的问题是无法在JLists中正确设置字符串的格式。请看这里: 我用PriorityQueue中作业对象的字符串表示形式填充JLists,如下所示: while(!sun.isEmpty()) sundayListItems.add(sunday.poll().toString()); .

我正在用Java制作一个家庭作业计划器GUI程序。一个GUI接收用户关于作业的数据,确定作业顺序的优先级,然后允许用户查看他们的日程安排,作为另一个GUI,显示他们将在一周中适当的几天内完成的所有作业

我的问题是无法在JLists中正确设置字符串的格式。请看这里:

我用PriorityQueue中作业对象的字符串表示形式填充JLists,如下所示:

while(!sun.isEmpty())
    sundayListItems.add(sunday.poll().toString());
.
.
.
sundayList = new JList(sundayListItems.toArray());
我的家庭作业类中的toString方法如下所示,当我输入System.out.prints以查看其工作情况时,它在控制台中的工作方式与预期相同:

    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;

但是,在GUI JLists中,字符串的格式不是我想要的。我希望字符串在17个字符后换行到下一行。有人有什么想法吗?

你认为“环绕”会起什么作用?如果将前17个字符放在第一行,则这是第一个列表项。剩下的字符应该放在哪里?如果环绕表示下一个列表项,则应在下一个列表项缩进空格时显式添加其余字符以使其清晰。将字符串添加到带有\n的列表中不会使其换行或强制其进入下一个列表项。您需要对其进行编码。我不希望剩余字符成为新的列表项,我只希望列表项为两行而不是一行。请尝试以下帖子: