Как мне подобрать клавишу ввода, нажимаемую в JavaFX 2?

У меня возникла такая же проблема после установки рамки AWS для решения этой проблемы. У меня есть обновленный файл конфигурации POD из вашего проекта, который создается после установки AWS POD. Проверьте конфигурационный файл, как показано ниже

OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-AWSAutoScaling" -l"
Pods-   AWSCloudWatch" -l"Pods-AWSCognito" -l"Pods-AWSCore" -l
"Pods-AWSDynamoDB" -l"Pods-AWSEC2" -l"Pods-AWSElasticLoadBalancing" 
-l"Pods-AWSKinesis" -l"Pods-AWSLambda" -l"Pods-AWSMachineLearning" 
-l"Pods-AWSS3" -l"Pods-AWSSES" -l"Pods-AWSSNS" -l"
Pods-AWSSQS"-l "Pods-AWSSimpleDB" -l"Pods-Bolts" -l"Pods-FMDB" 
-l"Pods-GZIP" -l"Pods-Mantle" -l"Pods-Reachability" -l"Pods-TMCache" 
-l"Pods-UICKeyChainStore" -l"Pods-XMLDictionary" -l"sqlite3" -l
"z"-framework "Accelerate" -framework "AssetsLibrary" 
-framework "CoreLocation" -framework "Foundation" -framework
"ImageIO" -framework "Security" -framework "SystemConfiguration"
-framework "UIKit" -weak_framework "UIKit"
 OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)   

, если ваш файл конфигурации не работает должным образом, а затем установите для вашего другого флага Linker значение $ (унаследованный)

25
задан Geesh_SO 14 December 2012 в 14:29
поделиться

3 ответа

Я предполагаю, что вы хотите, чтобы это произошло, когда пользователь нажимает ввод только тогда, когда TextField имеет фокус. Вы захотите использовать KeyEvent из javafx.scene.input и сделать что-то вроде этого ...

textField.setOnKeyPressed(new EventHandler<KeyEvent>()
    {
        @Override
        public void handle(KeyEvent ke)
        {
            if (ke.getCode().equals(KeyCode.ENTER))
            {
                doSomething();
            }
        }
    });

Надеюсь, это полезно!

69
ответ дан Brendan 14 December 2012 в 14:29
поделиться

На некоторых клавиатурах вы должны поставить дополнительные тесты для символов '\ n' и '\ r'.

if(event.getCode().equals(KeyCode.ENTER) || event.getCharacter().getBytes()[0] == '\n' || event.getCharacter().getBytes()[0] == '\r') {
        // your action
    }
0
ответ дан Ailton F. Silva 14 December 2012 в 14:29
поделиться

Просто используя «лямбда-выражение»:

TextField textField = new TextField();
textField.setOnAction(e -> {
    // add your code to be run here
    System.out.println("textFile");
    });
4
ответ дан mhmdar 14 December 2012 в 14:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: