Вопрос по console-application, java – Java gotoxy (x, y) для консольных приложений

17

Я пишу простое консольное приложение (80x24) на Java, есть ли эквивалент gotoxy (x, y)?

Ваш Ответ

4   ответа
8

что для этого есть встроенная функция в Java. Есть библиотека проклятий Java, называемаяJCurses что вы можете использовать, хотя

2

Laterna быть очень хорошей библиотекой. Он не зависит от какой-либо нативной библиотеки, но работает на 100% на чистой Java.

ПредлагаетScreen класс, который позволяет вывод текста на основе системы координат. Для ОС с графической средой используется эмулятор терминала на основе Swing. К сожалению, вы не можете принудительно включить режим терминала в Windows, поэтому, если вам действительно нужен терминал, используйте одно из решений в других ответах.

@oberhamsi: использоватьscreen.putString(), Пример:screen.putString(0, 0, "foo", Color.WHITE, Color.BLACK);
Я обнаружил, что только Латерна может сделать одну, самую основную вещь, которая мне нужна:write(char, x, y, foreground, background), Вы знаете о более поздней замене или каких-либо альтернативах? Я, вероятно, пойду с Латерной, но мне будет трудно исследовать эту тему.
4

curses библиотека стилей ...

Ты можешь попробоватьjavacurses и посмотрим, поможет ли это вам.

30

y) вы хотите изменить положение курсора на консоли, вы обычно можете использовать управляющие коды VT100 для этого. Увидетьhttp://www.termsys.demon.co.uk/vtansi.htm.

Сделать что-то вроде

char escCode = 0x1B;
int row = 10; int column = 10;
System.out.print(String.format("%c[%d;%df",escCode,row,column));

Который должен переместить курсор в положение 10,10 на консоли.

Это, вероятно, не будет работать для Windows
Это контрольные коды ANSI.en.wikipedia.org/wiki/ANSI_escape_code ANSI даже в конце ссылки, но я не виню вас за то, что вы ее не узнали.
это работает на powershell :)
Не работает! :(
Я думаю, что на самом деле это может работать даже в Windows! Просто запустите вашу программу в PowerShell вместо обычной командной строки. Запустите PowerShell, а затем запустите программу или введите в командной строке обычный тип.powershell запустить PowerShell, а затем в PowerShell запустить вашу программу. Это может потребовать Windows 10 с Anniversary Update.

Похожие вопросы