Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでコンソール画面をクリアする方法|ANSIエスケープコードを使った実装例

Javaには、C言語のsystem("clear")のような画面クリア用の標準関数が用意されていません。そのため、コンソール画面をクリアしたい場合は、ANSIエスケープコードを出力するのが一般的な手法です。

以下は、Javaで画面をクリアするためのサンプルコードです。

サンプルコード

public class Demo{
    public static void main(String[] args){
        System.out.print("\033[H\033[2J");
        System.out.flush();
    }
}

実行結果

画面がクリアされます

コードの解説

このプログラムでは、Demoというクラスの中にmainメソッドを定義しています。System.out.print()で出力している「\033[H\033[2J」がANSIエスケープシーケンスで、それぞれ以下の意味を持っています。

  • \033[H:カーソルを画面の左上(ホームポジション)に移動させる
  • \033[2J:画面全体の表示内容を消去する

続くflush()メソッドは、出力ストリームに残っているデータを強制的に書き出す役割を果たします。これにより、エスケープコードが確実にターミナルへ送信され、カーソルが画面上部にリセットされた状態でクリアが完了します。

注意点

この方法は、ANSIエスケープコードに対応したターミナルでのみ有効です。LinuxやmacOSの標準ターミナル、Windows 10以降のコマンドプロンプトやWindows Terminalでは正常に動作しますが、EclipseやIntelliJ IDEAなどIDE内蔵のコンソールではエスケープコードが解釈されず、意図したとおりに動作しない場合があります。開発環境ごとの挙動に注意して使用してください。

  1. JavaとOpenCVで線を描画する方法をわかりやすく解説

    Java版OpenCVライブラリのorg.opencv.imgprocパッケージには、Imgprocというクラスが含まれています。画像に直線を描画するには、このクラスが提供するline()メソッドを呼び出します。 line()メソッドのパラメータ line()メソッドは、以下のパラメータを受け取ります。 Matオブジェクト ― 直線を描画する対象となる画像を表します。 Pointオブジェクト2つ ― 直線の始点と終点の座標を表します。 Scalarオブジェクト ― 直線の色をBGR形式で指定します。 整数値 ― 直線の太さを指定します(デフォルト値:1)。 サンプルコード 以下は、白紙の画

  2. JavaのJWindowを使ってスプラッシュ画面を実装する方法

    JWindowは、デスクトップ上の任意の位置に表示できるコンテナです。JFrameと異なり、タイトルバーやウィンドウ管理ボタンなどの装飾要素を持ちません。JWindowは、唯一の子クラスとしてJRootPaneを含んでいます。そのcontentPaneが、JWindowに追加される子コンポーネントの親となります。JFrameと同様に、JWindowもトップレベルコンテナの一つであり、「装飾のない(undecorated)JFrame」と考えることができます。タイトルバーやウィンドウメニューといった機能は備えていません。この特性を活かすと、JWindowはスプラッシュ画面として利用できます。アプ