Я хочу установить разные размеры табуляции в текстовой области, построчно. Может ли кто-нибудь дать мне решение для этого. Является ли это возможным? Я хочу, после ввода текста в текстовой области, когда я нажимаю кнопку форматирования, хочет добавить вкладку для каждой строки. линия 1 - нет вкладки линии 2 - 1 таб линии 3 - 2 вкладки линии 4 - 3 вкладкиХочет форматировать текст в JTextArea
ответ
Вы читали API? API имеет методы, которые говорят вам:
- Сколько строк в текстовой области
- Отправной смещение каждой линии.
Я дам вам прочитать API, чтобы найти методы.
Затем вы создадите цикл и получите начальное смещение каждой строки. Затем вы используете:
textArea.getDocument().insertString(...);
для ввода соответствующего количества вкладок «\ t» для каждой строки.
Я думаю, что размер заставки по умолчанию или длина зависит от ОС/системы. \t
Я считаю, что делает 4 места по умолчанию на окнах ....
Что касается добавления вкладок после новой линии - вы могли бы сделать что-то вроде:
line.replace("\n", "\n\t");
или
line.replaceAll("\n", "\n\t");
в зависимости от вашего прецедента.
, если вам нужно в закладку каждый раз немного дальше, попробовать что-то вроде:
String tabSpacing = "\n\t";
for (int i = 0; i < lines.length; i++) {
String line = lines[i].replace("\n",tabSpacing);
tabSpacing += "\t";
}
Стоит отметить, что символ новой строки отличается от некоторых системных сред. Например, Windows использует crlf (возврат каретки, фид строки), в то время как * nix использует только lf (фид строки).
Так что в java вы либо используете \r\n
, либо просто \n
в зависимости от системной среды. Один из способов обойти это можно было бы назвать свойством системы.
System.getProperty("line.separator");
это может быть использовано в сочетании:
final String lineSeparator = System.getProperty("line.separator");
line.replace(lineSeparator, lineSeparator += "\t");
... и т.д.
UPDATE --
Основываясь на комментарий от OP - вы можете проверить это SO нить для того, как форматировать текст в Java Standard форматирования исходного кода: Java library for code beautify/format
+1, не выполняет то, что описал ОП (или, может быть, я не понимаю описание ОП), но ваше предложение является гораздо лучшим требованием, чем то, о чем попросил ОП. – camickr
Попробуйте использовать setLeftIndent и определить различные стили для каждой строки :
http://goo.gl/nA7opA (setleftindent страница человек)
Стили пример: http://goo.gl/8Yda5p
- 1. Добавить текст в JTextArea
- 2. Форматировать текст в UITextView
- 3. Как форматировать текст в ######. ##
- 4. jTextArea, текст и картинка
- 5. Текст JTextArea не извлекается?
- 6. Как сохранить текст JTextArea?
- 7. Выделите текст на JTextArea
- 8. JTextArea не отображающий текст
- 9. Очистить текст от JTextArea
- 10. JTextArea, делая текст невидимым
- 11. Выделите другой текст в JTextArea
- 12. Текст в JTextArea не обновляется
- 13. Как добавить текст в JTextArea?
- 14. Как добавить текст в jtextarea
- 15. По умолчанию текст в JTextArea
- 16. Как обернуть текст в JTextArea
- 17. Как форматировать текст подсказки
- 18. Форматировать текст внутри массива?
- 19. NSTextView: форматировать текст программно
- 20. Переопределить вставку: форматировать текст
- 21. Как форматировать текст в CodeIgniter
- 22. Как форматировать текст в c
- 23. Как форматировать текст в PDFkit
- 24. Как форматировать текст в RichTextBox?
- 25. Как форматировать текст в php?
- 26. Форматировать текст в ячейку JTable
- 27. Как форматировать текст в UITableViewCell?
- 28. Как форматировать текст в UITableView?
- 29. Как форматировать текст в JList?
- 30. Как форматировать текст в TextBlock?
"Дайте нам Preciouses" Нет, но если серьезно, вы могли бы быть немного более d escriptive? Опубликовать код? что ты уже испробовал? и т. д. –
Я не собираюсь это делать. В любом случае я хочу преобразовать текст в соответствии со стандартом кодирования. Например, когда я нажимаю ctrl + k в переполнении стека – RSST
@camickr не волнуйтесь, мой будет отмечен как ответ достаточно скоро ;-P – SnakeDoc