小编use*_*425的帖子

JLabel - 将更长的文本显示为多行?

所以说我有一个很长的行,我想在一个JLabel.我该怎么做?

目前,更长的线路出现了:

在此输入图像描述

我必须调整窗口大小以查看完整的文本.

当文本几乎达到我的宽度时,我该如何制作它以便有换行符JFrame

我不确定这里是否需要任何代码才能回答这个问题,但仍然:

我的框架属性:

frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(450, 400));
frame.setLocation(new Point(400, 300));
frame.setLayout(new BorderLayout());
Run Code Online (Sandbox Code Playgroud)

我要修改的标签:

question = new JLabel("Question:");
question.setFont(new Font("Serif", Font.BOLD, 15));
question.setHorizontalAlignment(JLabel.CENTER);
Run Code Online (Sandbox Code Playgroud)

编辑:更多细节:

我正在从文件中读取行,然后显示它们.线条的大小不固定,所以我不知道放在哪里<br>.

编辑2:

我最终使用了JTextArea.

private JTextArea textAreaProperties(JTextArea textArea) {
    textArea.setEditable(false);  
    textArea.setCursor(null);  
    textArea.setOpaque(false);  
    textArea.setFocusable(false);
    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);
    return textArea;
}
Run Code Online (Sandbox Code Playgroud)

java swing jlabel jpanel

10
推荐指数
3
解决办法
4万
查看次数

在JTextArea中添加边距?

所以我有一个JTextArea从左上角显示文本.我希望所有4个边都有一些边距,因此在文本和区域边界之间有一些空间.

我研究了很多,找不到任何解决方案.我该怎么做?

另外,我想也许可以在所有4个方面贴上标签来创建虚拟边距.如何创建JLabel具有一定宽度和高度的?

java swing jlabel jtextarea

8
推荐指数
1
解决办法
8709
查看次数

当我们有SortedMap/SortedSet时,为什么我们需要TreeMap/TreeSet?

好的SortedMap/ SortedSet是一个接口,和TreeMap/ TreeSet是它的实现.它们都按顺序排列元素,对吧?那么为什么我们需要TreeMap/ TreeSet

java treemap treeset

4
推荐指数
1
解决办法
1万
查看次数

对于每个循环工作,但迭代器不

编写一个counts接受List整数和Set整数作为参数的方法,并将集合中每个值的映射返回到列表中该值的出现次数.

我的解决方案#1:

public static Map<Integer, Integer> counts(List<Integer> list, Set<Integer> set) {
    Map<Integer, Integer> map = new TreeMap<Integer, Integer>();
    Iterator<Integer> i = list.iterator();

    for(Integer element : set) {
        int count = 0;
        for(Integer sub : list) {
            if(sub == element) {
                count++;
            }
        }
        map.put(element, count);
    }

    return map;
}
Run Code Online (Sandbox Code Playgroud)

我的解决方案#2:

public static Map<Integer, Integer> counts(List<Integer> list, Set<Integer> set) {
    Map<Integer, Integer> map = new TreeMap<Integer, Integer>();
    Iterator<Integer> i = list.iterator();

    for(Integer element : set) …
Run Code Online (Sandbox Code Playgroud)

java foreach iterator for-loop

2
推荐指数
1
解决办法
625
查看次数

为什么这段代码会抛出ConcurrentModificationException?

编写一个方法removeEvenLength,它将一组字符串作为参数,并从集合中删除所有偶数长度的字符串.

我的解决方案

public static void removeEvenLength(Set<String> set) {
    for(String word : set) {
        if(word.length() % 2 == 0) {
            set.remove(word);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输入: [foo, buzz, bar, fork, bort, spoon, !, dude]

输出:

ConcurrentModificationException on line 2:
java.util.ConcurrentModificationException
    at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1115)
    at java.util.TreeMap$KeyIterator.next(TreeMap.java:1169)
    at removeEvenLength (Line 2)
Run Code Online (Sandbox Code Playgroud)

所以我可以通过创建一个来解决它Iterator.但我想知道为什么上面的代码不起作用?

编辑:

迭代器也不起作用:

public static void removeEvenLength(Set<String> set) {
    Iterator<String> i = set.iterator();
    while(i.hasNext()) {
        String word = i.next();
        if(word.length() % 2 == 0) {
            set.remove(word);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

同样的错误.

java iterator set

0
推荐指数
1
解决办法
1713
查看次数

标签 统计

java ×5

iterator ×2

jlabel ×2

swing ×2

for-loop ×1

foreach ×1

jpanel ×1

jtextarea ×1

set ×1

treemap ×1

treeset ×1