# error: package javafx.scene.web is not visible import javafx.scene.web.*;



## marlem (27. Okt 2019)

Hallo,

folgender Code:

```
package JavaFXUdemy;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.GridPane;
import javafx.scene.web.*;
import javafx.stage.Stage;
import javafx.geometry.Insets;

public class Main extends Application  {
    
        
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    launch(args);
    }
    
    
    public void start(Stage primaryStage) {
    GridPane grid = new GridPane();
    grid.setPadding(new Insets(10,10,10,10));
    grid.setVgap(10);
    grid.setHgap(10);
    HTMLEditor htmlEditor = new HTMLEditor();
    grid.getChildren().addAll(htmlEditor);
    GridPane.setConstraints(htmlEditor,0,0);
    Scene scene = new Scene (grid, 300, 300);
    primaryStage.setScene(scene);
    primaryStage.setTitle("HTML EDITOR in JavaFX");
    primaryStage.show();
    
    }
}
```

Beim Complieren bekomme ich folgende Fehlermeldung:


> JavaFXUdemy\Main.java:6: error: package javafx.scene.web is not visible
> import javafx.scene.web.*;
> ^
> (package javafx.scene.web is declared in module javafx.web, which is not in the module graph)
> 1 error



Was muss ich tun um den Fehler zu beseitigen?


----------



## mrBrown (27. Okt 2019)

javafx.web bei der --modules-Angabe hinzufügen


----------



## marlem (27. Okt 2019)

> javafx.web bei der --modules-Angabe hinzufügen



Funktioniert!

Frage:
Wenn der Import nicht ausreicht, dann zur modules-Angabe hinzufügen, richtig?


----------



## mrBrown (27. Okt 2019)

marlem hat gesagt.:


> Wenn der Import nicht ausreicht, dann zur modules-Angabe hinzufügen, richtig?


Ne, wenn der Fehler ist, dass das Modul nicht im module-graph ist, dann dort hinzufügen


----------



## marlem (27. Okt 2019)

In Ordung, danke!


----------



## marlem (28. Okt 2019)

Ich glaube ich habe ein Java Burnout 
Gestern hat es getan heute nicht mehr.
Ich brauche nochmal Hilfe.

Die Main.java sieht so aus:

```
package JavaFXUdemy;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.layout.GridPane;
import javafx.scene.web.*;
import javafx.stage.Stage;
import javafx.geometry.Insets;

public class Main extends Application  {
    
        
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    launch(args);
    }
    
    
    public void start(Stage primaryStage) {
    GridPane grid = new GridPane();
    grid.setPadding(new Insets(10,10,10,10));
    grid.setVgap(10);
    grid.setHgap(10);
    HTMLEditor htmlEditor = new HTMLEditor();
        htmlEditor.setPrefHeight(250);
        WebView browser = new WebView();
        browser.setPrefSize(400, 300);
      //  WebEngine webEngine = browser.getEngine();
        TextArea htmlCode = new TextArea();
        htmlCode.setWrapText(true);
        Button showHTMLButton = new Button("Zeige HTML-Code an");
        showHTMLButton.setOnAction(e ->{
            htmlCode.setText(htmlEditor.getHtmlText());
        });
    grid.getChildren().addAll(htmlEditor, htmlCode, showHTMLButton);
    GridPane.setConstraints(htmlEditor,0,0);
    GridPane.setConstraints(showHTMLButton,0,1);
    GridPane.setConstraints(htmlCode,0,2);
    //GridPane.setConstraints(browser,0,3);
    //Fenstergröße
    Scene scene = new Scene (grid, 600, 300);
    primaryStage.setScene(scene);
    primaryStage.setTitle("HTML EDITOR in JavaFX");
    primaryStage.show();
    
    }
}
```

In diesem Verzeichnis in die Datei Main.java:


> C:\Projekte\Java\JavaFXUdemy\src\JavaFXUdemy



Ich bin im Dosfenster in diesem Verzeichnis:


> C:\Projekte\Java\JavaFXUdemy\src>



Jetzt gebe ich folgendes ein:


> C:\Projekte\Java\JavaFXUdemy\src>javac JavaFXUdemy/Main.java --module-path "C:\Program Files\Java\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml,java.logging,java.desktop, javafx.web



und bekomme folgende Fehlermeldung:


> JavaFXUdemy\Main.java:8: error: package javafx.scene.web is not visible
> import javafx.scene.web.*;
> ^
> (package javafx.scene.web is declared in module javafx.web, which is not in the module graph)
> ...



Warum? Was mache ich falsch?


----------



## marlem (28. Okt 2019)

Ich habe es:


> javac JavaFXUdemy/Main.java --module-path "C:\Program Files\Java\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml,java.logging,java.desktop,*javafx.web*



Was ist der Unterschied:


> javac JavaFXUdemy/Main.java --module-path "C:\Program Files\Java\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml,java.logging,java.desktop,* javafx.web*



Ein LEERZEICHEN Oh Gott


----------



## marlem (28. Okt 2019)

Starten klappt auch nicht:


> java --module-path "C:\Program Files\Java\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml,java.logging,java.desktop,javafx.web -cp . JavaFXUdemy/Main


Folgende Fehlermeldung:


> Unrecognized option: --module-path
> Error: Could not create the Java Virtual Machine.
> Error: A fatal exception has occurred. Program will exit.



Was ist falsch? Ich blicke es nicht.


----------



## marlem (28. Okt 2019)

geht wieder! war in der Pfadangabe bei den Systemvariablen noch ein ältere JDK drin. der hat also nicht mit openjdk compiliert, sondern mit einem älteren.


----------



## M.L. (28. Okt 2019)

Als kleine Motivation: mit Eclipse 2019-09, JDK 10 und den von e(fx)lipse installierten Plugins funktioniert es (ebenfalls), siehe Anhang


----------



## marlem (28. Okt 2019)

Du Compilierst mit JDK 10.
So sieht es bei mir aus, Dateianhang.


----------



## M.L. (29. Okt 2019)

> Du Compilierst mit JDK 10.


 Wieso muss es "auf-Teufel-komm-raus" mit Eclipse, OpenJFX und (Open)JDK >= 11 sein ? Die Anleitung unter https://openjfx.io/openjfx-docs/#IDE-Eclipse wurde befolgt ?  Und Doppelpostings ( Xing - Eclipse Forum )  sind nicht immer gerne gesehen.


----------



## mrBrown (29. Okt 2019)

M.L. hat gesagt.:


> Wieso muss es "auf-Teufel-komm-raus" mit Eclipse, OpenJFX und (Open)JDK >= 11 sein ?


Zumindest sollte es 10 (oder 9) nicht sein, weil es seit über einem Jahr nicht mehr supported ist


----------



## dzim (29. Okt 2019)

M.L. hat gesagt.:


> Wieso muss es "auf-Teufel-komm-raus" mit Eclipse[...]


Weil es die Arbeit erleichtert?


----------



## M.L. (29. Okt 2019)

> 10 (oder 9) nicht sein


 &&


> Weil es die Arbeit erleichtert?


  Schon klar. Die Anregung war eher auf ältere/andere Versionen (Java <= 10, NetBeans, IntelliJ, OpenJFX...) zurückzugreifen um etwas Lauffähiges in der Hinterhand zu haben.


----------



## dzim (29. Okt 2019)

Wenn man das Setup richtig macht (z.B. wenn man der Doku auf openjfx.io zu Maven oder Gradle folgt), hat man ratz fatz ein Basis-Setup, dass sich schnell anpassen lässt. Da kann man dann z.B. die Kursdaten als weitere Sub-Module einfügen oder noch einfacher Source-Directories anpassen. Aber ich gebe zu, dass das dann schon wieder weiterer Einarbeitungsaufwand für Anfänger ist, der sehr schnell ausarten kann. Aber dennoch: aktuelle IDEs sollte problemlos auch Rumpf-Projekte anlegen können, die einem hier helfen, oder nicht?


----------



## marlem (29. Okt 2019)

M.L. hat gesagt.:


> Wieso muss es "auf-Teufel-komm-raus" mit Eclipse, OpenJFX und (Open)JDK >= 11 sein ? Die Anleitung unter https://openjfx.io/openjfx-docs/#IDE-Eclipse wurde befolgt ?  Und Doppelpostings ( Xing - Eclipse Forum )  sind nicht immer gerne gesehen.


Weiß ich, aber wenn ich nicht weiß ob hier mein Problem gelöst werden kann, muss es mir gestattet sein, nach Alternativen zu suchen.

Warum Eclipse?
weil ich seit mehreren Jahren sehr begeistert mit Eclipse Java-Code und meiner Meinung nach Eclipse in Sachen Usability die beste IDE ist.


----------

