簡體   English   中英

將多行JTextArea寫入txt文件

[英]Writing multiline JTextArea to txt file

所以我有一個用於用戶輸入的JTextArea ,然后當他們點擊一個按鈕將它寫入文本文件時,我將setLineWrapsetWrapStyleWord設置為JTextArea true

我想寫文本文件在文本框中顯示的確切方式。

我試圖在String上執行replace("\\n", System.getProperty("line.separator")) ,其中包含JTextArea的內容,但是只有當用戶在鍵入輸入時實際點擊返回鍵時,但如果用戶只是一直打字並點擊一行的末尾,使其跳轉到它下面的一行,則replace不起作用。

我也試過使用一個StringBuffer ,我計算了在線上適合多少個字符,然后在每一行的末尾運行一個for loop inserting新行,所以對於第一行,我將它添加到位置90 ,第二行添加到180 ,第三名是270 ,依此類推。 但我很快意識到,並非在所有情況下工作,因為有些字是比別人更小,例如,你可以容納更多j '上比單一線S p的。

我想做的只是找出計算一行結束的方法,以便知道在哪里insert新行,但我也對其他建議持開放態度。 謝謝。 如果你認為看到我的一些代碼就會有所幫助。

更新而不是實現代碼來執行此操作,我與那些將成為使用此程序的唯一人之一的人進行了交談,並且他對常規記事本格式很好並且我沒有意識到這一點,但只要他已經檢查了wordWrap然后,記事本格式設置將消除他必須使用側滾動以讀取整行,感謝您的輸入

使用Utilities

public static final int getRowStart(JTextComponent c, int offs)
public static final int getRowEnd(JTextComponent c, int offs)

你傳遞偏移量並獲得行開始和結束的偏移量

除了使用字體指標計算單詞長度並執行文本區域已經執行的操作之外,我沒有看到怎么做。

但這背后的目的是什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM