gpt4 book ai didi

java - 将 ArrayList 内容打印到 TextArea 中

转载 作者:行者123 更新时间:2023-12-01 18:17:59 25 4
gpt4 key购买 nike

我有两个名为的ArrayList。

keys = {"cat", "dog", "mouse"}
values = {"furry;white", "greyhound;beast", "little;rat"}

我希望将它们打印在 JTextArea 中(因为我希望它们是可编辑的)或任何其他 GUI 组件,如下所示:

------------------
cat | furry
| white
-------------------
dog | greyhound
| beast
-------------------
mouse | little
| rat

我应该为每个条目动态创建一个新的 TextArea 吗?如果是这样我该怎么做?这是正确的方法吗?

我已经尝试过使用 JTable,但问题是单元格高度是固定的,文本换行很困惑。

最佳答案

您可以使用GridLayout

Map<String,String> map=new HashMap<String,String>(); //key-Value pair
map.put("cat",""furry\n white"); // \n So that you will get a new line character in text area
map.put("dog","greyhound \n beast");
JFrame frame = new JFrame();
frame.setLayout(new GridLayout(rows,columns));//In your case (map.size,2)
frame.setSize(300, 300);

//Now You need to Iterate through the Map.

for(Map.Entry<String,String>entry:map.entrySet()){
JTextArea left=JTextArea(entry.getKey());
JTextArea right=JTextArea(entry.getValue());
frame.add(left); //Adding each key to the Frame on left side
frame.add(right); //This is the value you want in side of key
}

frame.setVisible(true);

您将得到类似这样的内容,但格式可编辑

enter image description here

I have two ArrayLists called keys and values.

keys = {"cat", "dog", "mouse"} 
values = {"furry;white", "greyhound;beast", "little;rat"}

正如您所看到的,您正在单独维护键和值的列表,这是一种不好的做法,您可以拥有 Map (只需阅读此链接,它会很有帮助)它将 key 及其相应的 value 存储在单个记录中,

现在一点建议

如果您想对一个使用多个值,我建议您使用MultiMap它针对一个键维护多个值,这是一个非常有用的库。

关于java - 将 ArrayList 内容打印到 TextArea 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28471790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com