Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javafx 2 Javafx剪贴板双换行符_Javafx 2 - Fatal编程技术网

Javafx 2 Javafx剪贴板双换行符

Javafx 2 Javafx剪贴板双换行符,javafx-2,Javafx 2,我相当肯定这是JavaFX剪贴板中的一个bug,但我想确保我没有做愚蠢的事情。我使用以下代码以编程方式将纯文本放到剪贴板上: Clipboard clipboard = Clipboard.getSystemClipboard(); ClipboardContent content = new ClipboardContent(); //String test = "1" + System.lineSeparator() + "2"; //Example 1 - Two lines //Stri

我相当肯定这是JavaFX剪贴板中的一个bug,但我想确保我没有做愚蠢的事情。我使用以下代码以编程方式将纯文本放到剪贴板上:

Clipboard clipboard = Clipboard.getSystemClipboard();
ClipboardContent content = new ClipboardContent();
//String test = "1" + System.lineSeparator() + "2"; //Example 1 - Two lines
//String test = "1\r\n2"; //Example 2 - Two lines
String test = "1\n2"; //Example 3 - One line
content.putString(test);
clipboard.setContent(content);
示例1和2在粘贴后生成此文本

1

2
示例3粘贴后生成此文本(如预期)

让notepad++显示行尾可以确认在前两个示例中,行尾是加倍的。在它上面运行调试器显示字符串在被放入剪贴簿内容后是正常的,但在那之后我停止了跟踪它


这都是在Windows8上完成的(运行代码和粘贴操作)。我的结论是,在系统的某个深处,它正在检测是否需要windows行结尾,并在粘贴之前将\r和\n中的每一个都转换为\r\n

我通过一个简单的替换解决了这个问题,如下所示:

final ClipboardContent content = new ClipboardContent();
content.putString(str.replaceAll("\r\n", "\n"));

我有完全相同的问题。你在这期间找到解决办法了吗?
final ClipboardContent content = new ClipboardContent();
content.putString(str.replaceAll("\r\n", "\n"));