2016-08-02 40 views
0

Ich habe eine Desktop-Anwendung, die auf Computern ohne Tastatur verwendet wird, wird die Eingabe auf einem Touchscreen sein. Ich kann erreichen, dass die virtuelle Tastatur in Textfeldern angezeigt wird, wenn ich von Eclipse aus laufe. Ich benutzte diese Argumentejavafx programmgesteuert Argumente für die virtuelle Tastatur

Der folgende Link zeigt mir, wo die Argumente hinzufügen. how to add command line parameters when running java code in Eclipse?

Wenn ich eine ausführbare JAR-Datei erstellen, wird die Tastatur nicht angezeigt. Ich suche nach einer Möglichkeit, diese Argumente programmgesteuert festzulegen, damit die ausführbare JAR-Datei die virtuelle Tastatur auf jedem Computer anzeigt. Jede Hilfe wird sehr geschätzt.

Antwort

1

Die Option -D für die JVM legt eine Systemeigenschaft fest. So können Sie das gleiche erreichen, indem Sie folgendermaßen vorgehen:

public class MyApplication extends Application { 

    @Override 
    public void init() { 
     System.setProperty("com.sun.javafx.touch", "true");   
     System.setProperty("com.sun.javafx.isEmbedded", "true");   
     System.setProperty("com.sun.javafx.virtualKeyboard", "none"); 
    } 

    @Override 
    public void start(Stage primaryStage) { 
     // ... 
    } 
} 
+0

Hallo, ich habe das schon versucht, aber es hat nie für mich funktioniert. Ich bin mir nicht sicher, aber die Argumente werden erst wirksam, wenn die Anwendung ausgeführt wird. Ich habe gerade eine funktionierende Lösung gefunden. Es kann eine Arbeit sein, eine andere Klasse erstellen, eine Wrapper-Klasse, die diese Argumente setzt und dann die Hauptklasse startet. http://stackoverflow.com/questions/32373313/gradle-build-for-javafx-application-virtual-keyboard-is-not-working-du-to-miss –

+0

Danke für die schnelle Antwort obwohl. –