所以说我有一个很长的行,我想在一个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) 所以我有一个JTextArea从左上角显示文本.我希望所有4个边都有一些边距,因此在文本和区域边界之间有一些空间.
我研究了很多,找不到任何解决方案.我该怎么做?
另外,我想也许可以在所有4个方面贴上标签来创建虚拟边距.如何创建JLabel具有一定宽度和高度的?
好的SortedMap/ SortedSet是一个接口,和TreeMap/ TreeSet是它的实现.它们都按顺序排列元素,对吧?那么为什么我们需要TreeMap/ TreeSet?
编写一个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) 编写一个方法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)
同样的错误.