[英]Java - draw lines reading points in a txt file
我试图了解Java特别是Swing的工作原理,因此我制作了一个在JPanel上绘制徒手线条的应用程序。 然后,使用“保存”按钮,我可以记住一些信息(当用户开始和结束绘制线条时,这些点构成了线条等)。
我这样保存信息:
编辑我删除了无用的东西,只是在不同的信息之间放置了一个空格。
line 04:54:34:365 04:54:35:167 [java.awt.Point[x=249,y=114], java.awt.Point[x=249,y=114], java.awt.Point[x=207,y=87], java.awt.Point[x=207,y=87]]
这是一条线的例子; 您能建议我如何解析文件以将线条画回到JPanel吗? 我认为它的工作方式应像是“对于每一行,紧跟“要点”一词并获取数据并绘制出来”。 这是正确的方法吗? 我已经设法读写文件,所以问题出在仅占用那部分线并将其作为绘图功能的输入。
这是我从文件(.txt)中读取的方式:
List<String> lines = Files.readAllLines(Paths.get(file.getPath()), Charset.forName("UTF-8"));
谢谢!
我会做一些类似于AnubianNoob的建议,但是在文本文件的每一行上绘制每条“线”,甚至由许多点组成。 即使您不希望这样做,仅打印数字而不打印整个对象也是最简单的。
创建两行之后,文本文件可能看起来像:
249 114 207 87 230 110
115 240 90 210 112 245
现在,您可以像读取已经读取的所有行一样,然后按空格(或要在值之间放置的任何字符)分隔每行
//for each line in lines
String[] values = line.split(" ");
//Note we are adding 2 to i in each loop, because the 2nd value will be y value
for (int i = 0; i < values.length; i+=2)
{
//Now just recreate the points
//values[i] = x, values[i+1] = y
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.