Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文本域中的模糊位置_Java_Javafx 8 - Fatal编程技术网

Java 文本域中的模糊位置

Java 文本域中的模糊位置,java,javafx-8,Java,Javafx 8,当我在我的应用程序中创建文本字段,然后在其中出现模糊的地方 示例:1.输入开头有一个模糊: 轻触几下“空间模糊”后消失: 最后一个字符显示失真: 然后,模糊再次出现,整个场都会出现这种情况。 我不明白为什么会发生这种情况,hox会解决它 如果需要,片段代码: private void inputSaveName() { Stage nameStage = new Stage(); nameStage.initModality(Modality.WINDOW_MODAL);

当我在我的应用程序中创建文本字段,然后在其中出现模糊的地方

示例:1.输入开头有一个模糊:

  • 轻触几下“空间模糊”后消失:
  • 最后一个字符显示失真:
  • 然后,模糊再次出现,整个场都会出现这种情况。 我不明白为什么会发生这种情况,hox会解决它

    如果需要,片段代码:

    private void inputSaveName() {
    
       Stage nameStage = new Stage();
       nameStage.initModality(Modality.WINDOW_MODAL);
       nameStage.initOwner(saveStage);
       nameStage.initStyle(StageStyle.UNDECORATED);
       nameStage.initStyle(StageStyle.TRANSPARENT);
    
       BorderPane saveBorder = new BorderPane();
       saveBorder.setStyle("-fx-background-color:saddlebrown;" +"-fx-border-width:5;" + "-fx-border-radius:16;" + "-fx-font-family: Cambria;" + "-fx-border-color:olive");
       Scene nameScene = new Scene (saveBorder,300,120);
       nameScene.setFill(Color.TRANSPARENT);
    
       Rectangle rect = new Rectangle(300,120);
       rect.setArcHeight(40.0);
       rect.setArcWidth(40.0);
       saveBorder.setClip(rect);
    
       Button acceptNameButton = new Button("Accept");
       Button cancelNameButton = new Button("Cancel");
    
       acceptNameButton.setStyle("-fx-background-color: darkkhaki;" + "-fx-background-insets: 0 2 2 0;" + "-fx-padding: 8;" + "-fx-font-size:15;" + "-fx-text-alignment: 
    
    center");
       cancelNameButton.setStyle("-fx-background-color: darkkhaki;" + "-fx-background-insets: 0 0 2 2;" + "-fx-padding: 8;" + "-fx-font-size:15;" + "-fx-text-alignment: 
    
    center");
    
       cancelNameButton.setOnAction(new EventHandler<ActionEvent>() {
      
         @Override
         public void handle(ActionEvent ae) {
    
           nameStage.close();
         }
       });
    
       TextField nameField = new TextField();
       nameField.setPromptText("Write save name");
       nameField.setFont(new Font(18));
    
       HBox buttonBox = new HBox();
       buttonBox.setAlignment(Pos.CENTER);
    
       buttonBox.setHgrow(acceptNameButton, Priority.ALWAYS);
       buttonBox.setHgrow(cancelNameButton, Priority.ALWAYS);
    
       acceptNameButton.setMaxWidth(130);
       cancelNameButton.setMaxWidth(130);
    
       buttonBox.getChildren().addAll(acceptNameButton,cancelNameButton);
      
    
       saveBorder.setBottom(buttonBox);
       saveBorder.setCenter(nameField);
    
       nameStage.setScene(nameScene);
       nameStage.show();
    
    
     }
    
    private void inputSaveName(){
    阶段名称阶段=新阶段();
    nameStage.initmodula(modula.WINDOW_modula);
    nameStage.initOwner(saveStage);
    nameStage.initStyle(StageStyle.UNDECORATED);
    initStyle(StageStyle.TRANSPARENT);
    BorderPane saveBorder=新建BorderPane();
    saveBorder.setStyle(“-fx背景颜色:马鞍色;“+”-fx边框宽度:5;“+”-fx边框半径:16;“+”-fx字体系列:Cambria;“+”-fx边框颜色:橄榄色”);
    场景名称场景=新场景(saveBorder,300120);
    namesene.setFill(颜色.透明);
    矩形rect=新矩形(300120);
    直视视觉(40.0);
    直线设置弧宽(40.0);
    saveBorder.setClip(rect);
    按钮接受名称按钮=新按钮(“接受”);
    按钮取消名称按钮=新按钮(“取消”);
    acceptNameButton.setStyle(“-fx背景颜色:深色;“+”-fx背景插入:0 2 0;“+”-fx填充:8;“+”-fx字体大小:15;“+”-fx文本对齐:
    中心);
    cancelNameButton.setStyle(“-fx背景颜色:深色;“+”-fx背景插入:0 0 2 2;“+”-fx填充:8;“+”-fx字体大小:15;“+”-fx文本对齐:
    中心);
    cancelNameButton.setOnAction(新的EventHandler(){
    @凌驾
    公共无效句柄(ActionEvent ae){
    nameStage.close();
    }
    });
    TextField nameField=新的TextField();
    nameField.setPrompText(“写入保存名称”);
    nameField.setFont(新字体(18));
    HBox按钮框=新的HBox();
    按钮盒设置对齐(位置中心);
    设置行(acceptNameButton,Priority.ALWAYS);
    buttonBox.setHgrow(cancelNameButton,Priority.ALWAYS);
    acceptNameButton.setMaxWidth(130);
    cancelNameButton.setMaxWidth(130);
    buttonBox.getChildren().addAll(acceptNameButton、cancelNameButton);
    saveBorder.setBottom(按钮盒);
    saveBorder.setCenter(名称字段);
    nameStage.setScene(namestene);
    nameStage.show();
    }
    
    我只是在本地尝试您的代码:

    public class test2 extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        Stage nameStage = new Stage();
        nameStage.initModality(Modality.WINDOW_MODAL);
       // nameStage.initOwner(saveStage);
        nameStage.initStyle(StageStyle.UNDECORATED);
        nameStage.initStyle(StageStyle.TRANSPARENT);
    
        BorderPane saveBorder = new BorderPane();
        saveBorder.setStyle("-fx-background-color:saddlebrown;" + "-fx-border-width:5;" + "-fx-border-radius:16;" + "-fx-font-family: Cambria;" + "-fx-border-color:olive");
        Scene nameScene = new Scene(saveBorder, 300, 120);
        nameScene.setFill(Color.TRANSPARENT);
    
        Rectangle rect = new Rectangle(300, 120);
        rect.setArcHeight(40.0);
        rect.setArcWidth(40.0);
        saveBorder.setClip(rect);
    
        Button acceptNameButton = new Button("Accept");
        Button cancelNameButton = new Button("Cancel");
    
        acceptNameButton.setStyle("-fx-background-color: darkkhaki;" +
                "-fx-background-insets: 0 2 2 0;" + "-fx-padding: 8;" + "-fx-font-size:15;" +
                "-fx-text-alignment: center");
        cancelNameButton.setStyle("-fx-background-color: darkkhaki;" +
                "-fx-background-insets: 0 0 2 2;" + "-fx-padding: 8;" +
                "-fx-font-size:15;" + "-fx-text-alignment: center");
    
        cancelNameButton.setOnAction(new EventHandler<ActionEvent>() {
    
            @Override
            public void handle(ActionEvent ae) {
    
                nameStage.close();
            }
        });
    
        TextField nameField = new TextField();
        nameField.setPromptText("Write save name");
        nameField.setFont(new Font(18));
    
        HBox buttonBox = new HBox();
        buttonBox.setAlignment(Pos.CENTER);
    
        buttonBox.setHgrow(acceptNameButton, Priority.ALWAYS);
        buttonBox.setHgrow(cancelNameButton, Priority.ALWAYS);
    
        acceptNameButton.setMaxWidth(130);
        cancelNameButton.setMaxWidth(130);
    
        buttonBox.getChildren().addAll(acceptNameButton, cancelNameButton);
    
    
        saveBorder.setBottom(buttonBox);
        saveBorder.setCenter(nameField);
    
        nameStage.setScene(nameScene);
        nameStage.show();
    
    }
    public static void main(String[] args) {
        launch(args); } 
    }
    
    公共类test2扩展了应用程序{
    @凌驾
    public void start(Stage)引发异常{
    阶段名称阶段=新阶段();
    nameStage.initmodula(modula.WINDOW_modula);
    //nameStage.initOwner(saveStage);
    nameStage.initStyle(StageStyle.UNDECORATED);
    initStyle(StageStyle.TRANSPARENT);
    BorderPane saveBorder=新建BorderPane();
    saveBorder.setStyle(“-fx背景颜色:马鞍色;“+”-fx边框宽度:5;“+”-fx边框半径:16;“+”-fx字体系列:Cambria;“+”-fx边框颜色:橄榄色”);
    场景名称场景=新场景(saveBorder,300120);
    namesene.setFill(颜色.透明);
    矩形rect=新矩形(300120);
    直视视觉(40.0);
    直线设置弧宽(40.0);
    saveBorder.setClip(rect);
    按钮接受名称按钮=新按钮(“接受”);
    按钮取消名称按钮=新按钮(“取消”);
    acceptNameButton.setStyle(“-fx背景色:黑色+
    “-fx背景插图:0 2 0;“+”-fx填充:8;“+”-fx字体大小:15;”+
    “-fx文本对齐:居中”);
    cancelNameButton.setStyle(“-fx背景色:暗黑+
    “-fx背景插入:0 0 2 2;”+“-fx填充:8;”+
    “-fx字体大小:15;“+”-fx文本对齐方式:中间”);
    cancelNameButton.setOnAction(新的EventHandler

    也许你的gpu或者javafx有问题
    我正在使用JDK14.0.1、JavaFX14和gradle,也许你需要升级到最新版本:)

    这两幅图像之间没有区别,除了插入符号位置,也许你说的是焦点蓝边框?模糊真的出现在第一个屏幕截图中。:)我很抱歉看到他这么差。我在TextField中添加了另一个带有图形伪影的屏幕截图。我现在可以看到区别,我不确定,但我认为这与w有关我真的没有主意我让我的朋友在这台电脑上启动这个应用程序,一个有这个问题,另一个也没有。也许这个问题真的存在于计算机软件中为什么你不将scenebuilder与fxml一起使用?我最近开始学习JavaFX,为了更好地理解它尽管如此,我一开始还是决定用这种方式工作。也许有点奇怪,但对我来说,这真的更方便