Bonjour, j'ai un léger problème sur un navigateur que je suis en train de développer en java FX : j'ai enfin réussi a afficher les pop up dans une autre fenêtre webview, je l'ai testé sur ce site : http://www.i-am-bored.com/pop_up_blocker_test.html les pop ups s'affichent bien mais le bouton close ne marche pas, je suis obligé d'appuyer sur la croix en haut a gauche pour le fermer, l'un d'entre vous a-t-il une solution ?
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 package popuptest; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import javafx.application.Application; import javafx.beans.value.ObservableValue; import javafx.event.EventHandler; import javafx.geometry.Rectangle2D; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.scene.web.WebEngine; import javafx.scene.web.WebEvent; import javafx.scene.web.WebView; import javafx.stage.Modality; import javafx.stage.Screen; import javafx.stage.Stage; import javafx.stage.StageStyle; import org.w3c.dom.Document; public class Popuptest extends Application { @Override public void start(final Stage primaryStage) { WebView webView = new WebView(); WebEngine engine = webView.getEngine(); engine.load("http://www.i-am-bored.com/pop_up_blocker_test.html"); webView.getEngine().setOnAlert(new EventHandler<WebEvent<String>>() { @Override public void handle(WebEvent<String> event) { Stage popup = new Stage(); popup.initOwner(primaryStage); popup.initStyle(StageStyle.UTILITY); popup.initModality(Modality.WINDOW_MODAL); StackPane content = new StackPane(); content.getChildren().setAll( new Label(event.getData()) ); content.setPrefSize(200, 100); popup.setScene(new Scene(content)); popup.showAndWait(); } }); final Scene scene = new Scene(webView); Rectangle2D ecran = Screen.getPrimary().getVisualBounds(); primaryStage.setX(ecran.getMinX()); primaryStage.setX(ecran.getMinY()); primaryStage.setWidth(ecran.getWidth()); primaryStage.setHeight(ecran.getHeight()); primaryStage.setTitle("Cete fenêtre affiche les pop ups"); primaryStage.setScene(scene); primaryStage.show(); } }
Partager