繁体   English   中英

Java-在txt文件中绘制线条阅读点

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM