17

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

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

  • Я думаю, что на самом деле это может работать даже в Windows! Просто запустите вашу программу в PowerShell вместо обычной командной строки. Запустите PowerShell, а затем запустите программу или введите в командной строке обычный тип.powershell запустить PowerShell, а затем в PowerShell запустить вашу программу. Это может потребовать Windows 10 с Anniversary Update.

    от
  • Это контрольные коды ANSI.en.wikipedia.org/wiki/ANSI_escape_code ANSI даже в конце ссылки, но я не виню вас за то, что вы ее не узнали.

    от
  • Это, вероятно, не будет работать для Windows

    от
  • Не работает! :(

    от
  • это работает на powershell :)

    от
  • Я обнаружил, что только Латерна может сделать одну, самую основную вещь, которая мне нужна:write(char, x, y, foreground, background), Вы знаете о более поздней замене или каких-либо альтернативах? Я, вероятно, пойду с Латерной, но мне будет трудно исследовать эту тему.

    от
  • @oberhamsi: использоватьscreen.putString(), Пример:screen.putString(0, 0, "foo", Color.WHITE, Color.BLACK);

    от
  • 8

    Я не думаю

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

  • 2

    я нашел

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

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

  • 4

    Не без потянув за консоль

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

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

  • 30

    Если с помощью gotoxy (x

    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 на консоли.