Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:jdeveloper_consolen_app

Im JDeveloper eine Consolen Applikation mit Input entwickeln

Problem: Wird eine Java Consolen Applikation im JDeveloper gestartet, kann der Anwender nichts in das Consolen Fenster eingeben

Lösung: Über den Properity Dialog auf Projektebene den Dialog für die Run Optionen öffnen, „Tool Settings“ auswählen und dort „Allow Progam Input“ aktivieren.

 JDeveloper - Consolen Eingabe aktivieren

Nach der Einstellung Programm im JDeveloper starten und auf Eingabe Feld am unteren Rand der Console achten:

 JDeveloper - Consolen Eingabe aktivieren - Eingabefenster für die Console

Wenn hier nichts eingegeben werden kann, rechts oben unter „Actions“ all Hacken wegnehmen!

Beispiel für ein Consolen Input

In der JDeveloper IDE Kann leider nicht auf System.getConsole() zugegriffen werden, sehr ärgerlich vor allen für eine Password Eingabe. Daher wird in dieser Methode, falls Console nicht im Zugriff, klassisch über BufferedReader eingelesen.

  /**
     * Read User input from the console
     * @param prompt  - Prompt 
     * @param readPassword - if true use readPassword methode
     * @return String with the input
     */
    public static String readConsole(String prompt, boolean readPassword) {
        String returnValue = null;
        char[] password;
        // try to use the console
        Console console = System.console();
        //  read the value  from the command-line;
        // if console is not avalible use Standard in
        // fix for IDE JDeveloper !
        try {
            if (System.console() != null) {
                if (readPassword) {
                    password = console.readPassword("     -- " + prompt);
                    returnValue = new String(password);
                }
                else {
                    returnValue = console.readLine("     -- " + prompt);
 
                }
            }
            else {
                // Write the Prompt
                //open up standard input
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                System.out.print("     -- " + prompt);
                returnValue = br.readLine();
 
            }
        }
        catch (Exception e) {
            System.out.println("IO error trying to read from console Error::" + e.getMessage());
            System.exit(1);
        }
        if (readPassword == false) {
            System.out.println("     -- Read User Input          ::" + returnValue);
        }
        return returnValue;
    }
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
prog/jdeveloper_consolen_app.txt · Zuletzt geändert: 2014/12/16 12:28 von gpipperr