【问题标题】:How to Exit Java Window after a command in Blue-J?在 Blue-J 中执行命令后如何退出 Java 窗口?
【发布时间】:2017-12-20 05:33:41
【问题描述】:

我正在编写一个程序来查找给定二次方程的根值。 这是代码 -

import java.util.*;
class Success
{
   public static void main(String[] args)
{
    String input1;
    Scanner sc=new Scanner(System.in);        
    System.out.println();
    System.out.println();
    System.out.println("-------------------------------------------------------------------");
    System.out.println("-------------------------------------------------------------------");
    System.out.println("!! Success !!");
    System.out.println("------- (-_-) -------");
    System.out.println();
    System.out.println("Let's Try Again!!!");
    System.out.println();
    System.out.println("Enter anything to Exit or 1 to go back to Main Menu.");              
    input1 = sc.nextLine();
     if(input1.equals("1"))
     {
       System.out.print('\f'); 
       Main_Menu.main(args);
     }
     else 
     {        
       System.exit(0);
     }
   }
}

这里我使用 System.exit(0);退出程序。但是使用它只会最小化窗口。有什么办法可以关闭窗口。

P.S - 如果输入的值为 1,这只是一个链接到 Main_Menu 类的类。这不是完整的代码!

Quadratic Equations - BlueJ Program - Image

谢谢

【问题讨论】:

    标签: java performance bluej system.exit


    【解决方案1】:

    对System.exit(0) 的调用只会终止当前正在运行的Java 虚拟机。它不一定会关闭终端窗口。 Java 程序对它的上下文一无所知,因此它无法访问它用于输出的窗口。

    但是,在 BlueJ 中清除终端有两种不同的方法。您可以让 BlueJ 在每次交互方法调用之前自动清除终端。为此,请激活终端“选项”菜单中的“方法调用时清除屏幕”选项。您还可以在程序中以编程方式清除终端。打印换页符(unicode 000C)会清除 BlueJ 终端,例如:

    System.out.print('\u000C');
    

    这将在 BlueJ 终端中起作用,但不能保证在所有终端中都具有相同的效果。例如,您可以创建一个包含 this 的方法,并在您想要清除终端屏幕时调用该方法。

    public void clearScreen()
    {
        System.out.print('\u000C');
    }
    

    【讨论】:

    • 'System.out.print('\f'); ' - 这也清除了 Blue J 终端。但是我想终止正在运行的JVM,然后关闭窗口!
    猜你喜欢
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 2011-05-12
    • 2020-10-21
    • 1970-01-01
    • 2018-03-01
    相关资源
    最近更新 更多