簡體   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