2016-12-27 17 views
3

私の問題は、Windowsのタスクバーから最小化されたjavafxアプリケーションを復元するときです。は、javafxで最小化されたWebViewからの復元後に無効になります

サイズ変更後、有効になります。

主なJavaコード:

public class Main extends Application { 
    @Override 
    public void start(Stage primaryStage) { 
     try { 
      AnchorPane root = new AnchorPane(); 
      FXMLLoader loader = new FXMLLoader(getClass().getResource("Browser.fxml")); 
      root = loader.load(); 
      Scene scene = new Scene(root); 
      primaryStage.setScene(scene); 
      primaryStage.setTitle("Shivam Jewels ERP"); 
      primaryStage.setMaximized(true); 
      primaryStage.show(); 
      primaryStage.iconifiedProperty().addListener(new ChangeListener<Boolean>() { 

       @Override 
       public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) { 
        if (t1) { 
         System.out.println("minimized:"); 
        } 
       } 
      }); 
      primaryStage.maximizedProperty().addListener(new ChangeListener<Boolean>() { 

       @Override 
       public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { 
        if (newValue) { 
         System.out.println("maximized:"); 
        } 
       } 
      }); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 

マイJavaFXのコードです:

public class BrowserController implements Initializable { 
    @FXML 
    private WebView browser; 
    @FXML 
    private GridPane grdPn; 

    @Override 
    public void initialize(URL location, ResourceBundle resources) { 
     final WebEngine webEngine = browser.getEngine(); 
     browser.getEngine().setUserStyleSheetLocation(getClass().getResource("application.css").toExternalForm()); 
     browser.setContextMenuEnabled(false); 
     System.setProperty("sun.net.http.allowRestrictedHeaders", "true"); 
     webEngine.load("http://192.168.2.6:4200"); 
    } 

} 

これは私のCSSコードです:

::-webkit-scrollbar { 
    width: 6px; 
} 

::-webkit-scrollbar-track { 
    -webkit-border-radius: 10px; 
    border-radius: 10px; 
} 

::-webkit-scrollbar-thumb { 
    -webkit-border-radius: 10px; 
    border-radius: 10px; 
    background: rgba(0,0,0,0.5); 
} 
::-webkit-scrollbar-thumb:window-inactive { 
    background: rgba(0,0,0,0.1); 
} 

これは私のFXMLコードです:

<?xml version="1.0" encoding="UTF-8"?> 

<?import javafx.scene.web.*?> 
<?import java.lang.*?> 
<?import javafx.scene.layout.*?> 
<?import javafx.scene.layout.AnchorPane?> 

<AnchorPane prefHeight="382.0" prefWidth="353.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.BrowserController"> 
    <children> 
     <GridPane fx:id="grdPn" layoutX="57.0" layoutY="135.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> 
     <columnConstraints> 
      <ColumnConstraints hgrow="SOMETIMES" /> 
     </columnConstraints> 
     <rowConstraints> 
      <RowConstraints fillHeight="false" valignment="CENTER" vgrow="SOMETIMES" /> 
      <RowConstraints vgrow="SOMETIMES" /> 
     </rowConstraints> 
     <children> 
      <WebView fx:id="browser" minHeight="-1.0" minWidth="-1.0" prefHeight="-1.0" prefWidth="-1.0" GridPane.halignment="CENTER" GridPane.hgrow="ALWAYS" GridPane.rowIndex="1" GridPane.valignment="CENTER" GridPane.vgrow="ALWAYS" /> 
     </children> 
     </GridPane> 
    </children>`enter code here` 
</AnchorPane> 
+0

このコードはうまく動作します。あなたはfxmlとcssファイルを提供できますか? – Omid

+0

ご回答いただきありがとうございます。 – CTN

答えて

3

これは、実際にあるJDKのバグが複数回hereherehereを報告しました。説明した動作は、satgeが最大化されたときに発生します。

このバグはJDK9で修正される予定だったが、thisに応じてもJDK8u122に固定されようとしている:

は8u122ため8U-devのにバックポートすることが承認されました。私たちはそれを使用することができます前に、それは長くはかからないだろうが、今のあなたはJDK 8u122 early access pageからの早期アクセス・リリースをダウンロードして使用することができます2017年1月にリリースされる

JDK 8u122 is planned

自分でダウンロードしてコードをテストしたところ、幸いにも問題はなくなりました。

+1

Javaのバージョンを変更した後、それは私のために働いています。 ありがとう – CTN

+0

これはWindows 10でのみ発生しているようです。 –

関連する問題