Как изменить цвет выводимого в консоль текста? [дубликат]
Мне нужно написать консольное приложение, в котором через System.out.println(«Какой-то текст»); выводится текст. Возможно ли как-то в коде задать цвет текста ?
Отслеживать
22k 3 3 золотых знака 27 27 серебряных знаков 37 37 бронзовых знаков
задан 22 дек 2016 в 15:23
Andreew Akulov Andreew Akulov
157 1 1 золотой знак 2 2 серебряных знака 10 10 бронзовых знаков
1 сен 2019 в 0:24
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Да, это возможно (но работать будет не везде):
public class Main < public static final String ANSI_RESET = "\u001B[0m"; public static final String ANSI_BLACK = "\u001B[30m"; public static final String ANSI_RED = "\u001B[31m"; public static final String ANSI_GREEN = "\u001B[32m"; public static final String ANSI_YELLOW = "\u001B[33m"; public static final String ANSI_BLUE = "\u001B[34m"; public static final String ANSI_PURPLE = "\u001B[35m"; public static final String ANSI_CYAN = "\u001B[36m"; public static final String ANSI_WHITE = "\u001B[37m"; public static void main(String[] args) < System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET); >>
Отслеживать
ответ дан 22 дек 2016 в 15:30
22k 3 3 золотых знака 27 27 серебряных знаков 37 37 бронзовых знаков
- java
- io
-
Важное на Мете
Связанные
Похожие
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как можно выводить в Java разным цветом сообщения в консоли от логгера в зависимости от типа сообщения?
Вывожу в программе логи в консоль через java.util.logging.Logger.
Выводимые строки обрабатываются этим форматером
package l2p; import java.io.PrintWriter; import java.io.StringWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; public class ConsoleLogFormatter extends Formatter < private static final String CRLF = "\r\n"; private static final SimpleDateFormat tsformat = new SimpleDateFormat("HH:mm:ss.SSS "); private Date ts = new Date(); @Override public String format(LogRecord record) < StringBuffer output = new StringBuffer(); ts.setTime(record.getMillis()); output.append(tsformat.format(ts)); output.append(record.getMessage()); output.append(CRLF); if (record.getThrown() != null) try < StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); record.getThrown().printStackTrace(pw); pw.close(); output.append(sw.toString()); output.append(CRLF); >catch (Exception ex) <> return output.toString(); > >
И собственно говоря интересует вопрос — как можно задать цвет строкам в зависимости от типа сообщения — fine, info, warning и т.д.
Притом это должно работать как в консоли Windows, так и в консоли Linux.
Может кому встречались какие-то готовые классы на эту тему или хотя бы подскажите в каком направлении копать.
- Вопрос задан более трёх лет назад
- 21569 просмотров
3 комментария
Оценить 3 комментария
Как изменить цвет текста в java
Для изменения цвета текста при выводе в консоль можно использовать управляющие коды ANSI.
Управляющие коды ANSI также позволяют изменить цвет фона, шрифт и др.
К примеру приведенный ниже код выведет в консоль текст синим цветом на желтом фоне :
public class App public static final String ANSI_RESET = "\u001B[0m"; public static final String ANSI_BLUE = "\u001B[34m"; public static final String ANSI_YELLOW_BACKGROUND = "\u001B[43m"; public static void main(String[] args) String text = "Hello World!"; System.out.println(ANSI_YELLOW_BACKGROUND + ANSI_BLUE + text + ANSI_RESET); > >
Как задать выделение цветом для imageview?
Как задать выделение цветом для imageview? К примеру для каждого imageview идет соответствующая картинка. Как сделать выделение всего imageview с желтым оттенком (как при нажатии на кнопку button)?
- Вопрос задан более трёх лет назад
- 308 просмотров
1 комментарий
Оценить 1 комментарий

случаем не это ? stackoverflow.com/questions/19500039/how-to-use-se.
Решения вопроса 0
Ответы на вопрос 1
Например задать селектор, или переопределить метод onTouch для вьюхи, там детектить нажатие на нее и вызывать что то типа этого
iv.getDrawable().setColorFilter(цвет,PorterDuff.Mode.SRC_ATOP); iv.invalidate();
затем детектить отпускание и вызывать
image.getDrawable().clearColorFilter(); image.invalidate();
чтоб снять выделение
Ответ написан более трёх лет назад
Нравится 1 2 комментария
newdancer @newdancer Автор вопроса
Надо попробовать! Фактически мне надо чтобы при определенном действии я мог подсветить таким образом игральную карту(imageview). Тем самым не изменяя картинку этой imageview
попробуйте как я написал, только цвет выделения изначально задавайте полупрозрачный
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Java
- +1 ещё
Как разрабатывать приложение Spring, чтобы каждый раз не деплоить его на сервер для отладки?
- 1 подписчик
- 5 часов назад
- 57 просмотров