Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:jdeveloper_consolen_app

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
prog:jdeveloper_consolen_app [2013/06/20 11:00] – [Beispiel für ein Consolen Input] gpipperrprog:jdeveloper_consolen_app [2014/12/16 12:28] (aktuell) – [Im JDeveloper eine Consolen Applikation mit Input entwickeln] gpipperr
Zeile 1: Zeile 1:
 +====== 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.
 +
 +{{ :prog:jdeveloper_set_consolen_input_setting.png?400 | JDeveloper - Consolen Eingabe aktivieren}}
 +
 +
 +Nach der Einstellung Programm im JDeveloper starten und auf Eingabe Feld am unteren Rand der Console achten:
 +
 +{{ :prog:jdeveloper_set_consolen_input_setting_02.png?400 | JDeveloper - Consolen Eingabe aktivieren - Eingabefenster für die Console}}
 +
 +
 +<note tip>Wenn hier nichts eingegeben werden kann, rechts oben unter "Actions" all Hacken wegnehmen!</note>
 +====== 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.
 +
 +<code java>
 +  /**
 +     * 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;
 +    }
 +</code>
prog/jdeveloper_consolen_app.txt · Zuletzt geändert: 2014/12/16 12:28 von gpipperr