[![在此处输入图片说明] [1]] [1]我是Java Swing的新手。我有一个创建GUI布局将2个文本区域和一个按钮"复制到剪贴板"。我有一个代码,将第一个文本区域的内容复制到剪贴板,但不知道如何在第二个文本区域添加内容和与jtext区域对应的标签。
String get= hActionText.getText();
StringSelection selec= new StringSelection(get);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selec, selec);
答案 0 :(得分:0)
如果我理解你在尝试什么,你试图将两个字段的值放在剪贴板上,然后再读取它们并再次填充字段。
剪贴板太简单了,它基本上只能容纳一个字符串。我建议创建一个你将放在剪贴板上的结构,哪个结构更适合将数据描述为字符串而不是JSON :-)。只需创建如下的JSON内容:
[
{
"label":"field1",
"content":"contentFromField1"
},
{
"label":"field2",
"content":"contentFromField2"
}
]
并将其放在剪贴板上。当然,在阅读剪贴板后,您总是必须检查实际可反序列化的内容。
要创建这样的内容,您可以使用像json-simple这样的Java库。一个简单的例子,内容如上:
JSONObject obj1 = new JSONObject();
obj1.put("label", "field1");
obj1.put("content", "contentFromField1);
JSONObject obj2 = new JSONObject();
obj2.put("label", "field2");
obj2.put("content", "contentFromField2);
JSONArray list = new JSONArray();
list.add(obj1);
list.add(obj2);
答案 1 :(得分:0)
请帮我连接?
这是我确定你一直使用的基本java:
String textForClipboard = label1.getText() + ":" + label2.getText();
或者您可以使用StringBuilder
:
StringBuilder sb = new StringBuilder();
sb.append( labe1.getText() );
sb.append( ":" );
sb.append( label2.getText() );
然后,当您从剪贴板获取数据时,您需要解析它。您可以使用String.split(...)
方法。