Я столкнулся с этой проблемой на php 7.1, который поставляется с High Sierra (OS X 10.13.5), редактирование /etc/apache2/httpd.conf
со следующими изменениями помогло:
LoadModule php7_module libexec/apache2/libphp7.so
<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>
У вас есть несколько возможностей скрыть текстовое поле с помощью css. Проще всего установить непрозрачность на 0
TextField.css
.hidden{
-fx-opacity: 0;
}
Java
GridPane root = new GridPane();
// Add stylesheet
root.getStylesheets().add("TextField.css");
TextField textField = new TextField();
// Add class
textField.getStyleClass().add("hidden");
С другой стороны, я бы действительно Спросите себя, если этот "взломать" путь. Если ваш сканер штрих-кода просто вставляет текст, возможно, лучшим решением будет добавить обработчик событий и соответственно обрабатывать нажатия клавиш:
EventHandler
root.addEventHandler(KeyEvent.ANY,(event)->{
System.out.println(event);
});
На самом деле вам не нужно иметь TextField
в сцене. На самом деле я бы не рекомендовал этого делать, поскольку это мешало бы фокусировке и, возможно, макету.
Вместо этого я бы добавил слушателя на сцену (или корневой узел сцены, убедившись, что он или потомок могут получить фокус, установив свойство focusTraversable
в true
, если необходимо). Вам может понадобиться использовать фильтр событий, если у узла, который потребляет KEY_PRESSED
, может быть фокус:
@Override
public void start(Stage primaryStage) throws IOException {
StackPane root = new StackPane(new Button());
Scene scene = new Scene(root);
final StringBuilder string = new StringBuilder();
scene.addEventFilter(KeyEvent.KEY_PRESSED, evt -> {
KeyCode code = evt.getCode();
if (code.isDigitKey()) {
// input part of the information
String name = code.toString();
string.append(name.charAt(name.length() - 1)); // make sure numpad keys do not
} else if (code == KeyCode.ENTER) {
// submit input
submitCode(string.toString());
string.setLength(0);
}
});
primaryStage.setScene(scene);
primaryStage.show();
}
private void submitCode(String code) {
System.out.println(code);
}
Попробуйте использовать TextField.setText (java.lang.String) .