第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使 JavaFX 文本字段不可見,但仍允許在其中輸入文本

如何使 JavaFX 文本字段不可見,但仍允許在其中輸入文本

MMTTMM 2022-09-01 17:25:30
我有一個javaFX應用程序,它從條形碼掃描儀獲取輸入。條形碼掃描儀被識別為鍵盤,并且在掃描任何條形碼后始終在其輸入后以換行符顯示(因此會觸發(fā) onAction 事件)。目前,我有一個文本字段,它始終是聚焦并鏈接到條形碼掃描儀的,但是我希望對用戶隱藏它。我嘗試使用setVisible(False),但這似乎禁用了文本字段(onAction未觸發(fā),文本字段始終為空)我還嘗試將文本字段從屏幕上移開,這確實有效,但是因為屏幕必須可調整大小,我現(xiàn)在必須使用gridPane作為根,因此無法再執(zhí)行此操作。只是想知道是否有任何東西可以使文本字段對用戶不可見,但仍然允許啟用它?
查看完整描述

3 回答

?
DIEA

TA貢獻1820條經驗 獲得超2個贊

您可以使用css隱藏文本字段。最簡單的方法是將不透明度設置為 0


文本字段.css


.hidden{

    -fx-opacity: 0;

}

爪哇島


GridPane root = new GridPane();

// Add stylesheet

root.getStylesheets().add("TextField.css");


TextField textField = new TextField();

// Add class

textField.getStyleClass().add("hidden");

另一方面,我真的會問自己,這個“黑客”是否是要走的路。如果您的條形碼掃描儀只是插入文本,也許更好的解決方案是添加一個事件處理程序并相應地處理擊鍵:


事件處理程序


root.addEventHandler(KeyEvent.ANY,(event)->{

    System.out.println(event);

});


查看完整回答
反對 回復 2022-09-01
?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

您實際上不需要在場景中有一個。事實上,我不建議這樣做,因為這會干擾焦點,并可能干擾布局。TextField


相反,我會向場景添加一個偵聽器(或場景的根節(jié)點,以確保它或后代可以通過將屬性設置為 ,如有必要)來獲得焦點)。您可能需要使用事件過濾器,如果使用 的事件過濾器的節(jié)點可能具有焦點:focusTraversabletrueKEY_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);

}


查看完整回答
反對 回復 2022-09-01
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

查看完整回答
反對 回復 2022-09-01
  • 3 回答
  • 0 關注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號