root / TXM / trunk / org.txm.libs.javafx / swt / JFXBrowser.java @ 3360
Historique | Voir | Annoter | Télécharger (10,66 ko)
1 | 3108 | mdecorde | package snippet; |
---|---|---|---|
2 | 3108 | mdecorde | |
3 | 3108 | mdecorde | import java.util.concurrent.Semaphore; |
4 | 3108 | mdecorde | |
5 | 3108 | mdecorde | import org.eclipse.swt.SWT; |
6 | 3108 | mdecorde | import org.eclipse.swt.SWTError; |
7 | 3108 | mdecorde | import org.eclipse.swt.browser.CloseWindowListener; |
8 | 3108 | mdecorde | import org.eclipse.swt.browser.LocationEvent; |
9 | 3108 | mdecorde | import org.eclipse.swt.browser.LocationListener; |
10 | 3108 | mdecorde | import org.eclipse.swt.browser.OpenWindowListener; |
11 | 3108 | mdecorde | import org.eclipse.swt.browser.ProgressEvent; |
12 | 3108 | mdecorde | import org.eclipse.swt.browser.ProgressListener; |
13 | 3108 | mdecorde | import org.eclipse.swt.browser.StatusTextListener; |
14 | 3108 | mdecorde | import org.eclipse.swt.browser.TitleListener; |
15 | 3108 | mdecorde | import org.eclipse.swt.browser.VisibilityWindowAdapter; |
16 | 3108 | mdecorde | import org.eclipse.swt.events.KeyEvent; |
17 | 3108 | mdecorde | import org.eclipse.swt.events.KeyListener; |
18 | 3108 | mdecorde | import org.eclipse.swt.events.MouseEvent; |
19 | 3108 | mdecorde | import org.eclipse.swt.events.MouseListener; |
20 | 3108 | mdecorde | import org.eclipse.swt.graphics.Point; |
21 | 3108 | mdecorde | import org.eclipse.swt.layout.GridData; |
22 | 3108 | mdecorde | import org.eclipse.swt.layout.GridLayout; |
23 | 3108 | mdecorde | import org.eclipse.swt.widgets.Composite; |
24 | 3108 | mdecorde | import org.eclipse.swt.widgets.Display; |
25 | 3108 | mdecorde | import org.eclipse.swt.widgets.Event; |
26 | 3108 | mdecorde | import org.eclipse.swt.widgets.Label; |
27 | 3108 | mdecorde | import org.eclipse.swt.widgets.Listener; |
28 | 3108 | mdecorde | import org.eclipse.swt.widgets.ProgressBar; |
29 | 3108 | mdecorde | import org.eclipse.swt.widgets.Shell; |
30 | 3108 | mdecorde | import org.eclipse.swt.widgets.Text; |
31 | 3108 | mdecorde | import org.eclipse.swt.widgets.ToolBar; |
32 | 3108 | mdecorde | import org.eclipse.swt.widgets.ToolItem; |
33 | 3108 | mdecorde | |
34 | 3108 | mdecorde | import javafx.application.Platform; |
35 | 3108 | mdecorde | import javafx.embed.swt.FXCanvas; |
36 | 3108 | mdecorde | import javafx.scene.Group; |
37 | 3108 | mdecorde | import javafx.scene.Scene; |
38 | 3108 | mdecorde | import javafx.scene.paint.Color; |
39 | 3108 | mdecorde | import javafx.scene.web.WebView; |
40 | 3108 | mdecorde | |
41 | 3108 | mdecorde | /**
|
42 | 3108 | mdecorde | * WebView (webkit) wrapper.
|
43 | 3108 | mdecorde | * not finished, see work to be done in org.eclipse.swt.browser.Webkit.class to make this class fully operational
|
44 | 3108 | mdecorde | *
|
45 | 3108 | mdecorde | * @author mdecorde
|
46 | 3108 | mdecorde | *
|
47 | 3108 | mdecorde | */
|
48 | 3108 | mdecorde | public class JFXBrowser extends FXCanvas { |
49 | 3108 | mdecorde | |
50 | 3108 | mdecorde | protected static final String NOMEDIA = ""; //$NON-NLS-1$ |
51 | 3108 | mdecorde | |
52 | 3108 | mdecorde | private WebView jfxBrowser;
|
53 | 3108 | mdecorde | |
54 | 3108 | mdecorde | // private GLComposite videoComposite;
|
55 | 3108 | mdecorde | |
56 | 3108 | mdecorde | public WebView getEmbeddedMediaPlayer() {
|
57 | 3108 | mdecorde | return jfxBrowser;
|
58 | 3108 | mdecorde | } |
59 | 3108 | mdecorde | |
60 | 3108 | mdecorde | Semaphore s = new Semaphore(1); |
61 | 3108 | mdecorde | |
62 | 3108 | mdecorde | // private FXCanvas fxCanvas;
|
63 | 3108 | mdecorde | |
64 | 3108 | mdecorde | Point previousP;
|
65 | 3108 | mdecorde | |
66 | 3108 | mdecorde | public JFXBrowser(Composite parent, int style) { |
67 | 3108 | mdecorde | super(parent, style);
|
68 | 3108 | mdecorde | GridLayout gl = new GridLayout(1, true); |
69 | 3108 | mdecorde | gl.horizontalSpacing = 0;
|
70 | 3108 | mdecorde | this.setLayout(gl);
|
71 | 3108 | mdecorde | |
72 | 3108 | mdecorde | // THE PLAYER
|
73 | 3108 | mdecorde | // if (RuntimeUtil.isMac()) {
|
74 | 3108 | mdecorde | // try {
|
75 | 3108 | mdecorde | // LibC.INSTANCE.setenv("VLC_PLUGIN_PATH", "/Applications/VLC.app/Contents/MacOS/plugins", 1);
|
76 | 3108 | mdecorde | // }
|
77 | 3108 | mdecorde | // catch (Exception ex) {
|
78 | 3108 | mdecorde | // ex.printStackTrace();
|
79 | 3108 | mdecorde | // }
|
80 | 3108 | mdecorde | // }
|
81 | 3108 | mdecorde | // videoComposite = new GLComposite(this, SWT.NONE, "Video");
|
82 | 3108 | mdecorde | GridData gdata = new GridData(SWT.FILL, SWT.FILL, true, true); |
83 | 3108 | mdecorde | this.setLayoutData(gdata);
|
84 | 3108 | mdecorde | jfxBrowser = null;
|
85 | 3108 | mdecorde | |
86 | 3108 | mdecorde | this.addListener(SWT.Resize, new Listener() { |
87 | 3108 | mdecorde | |
88 | 3108 | mdecorde | @Override
|
89 | 3108 | mdecorde | public void handleEvent(Event e) { |
90 | 3108 | mdecorde | resizeView(); |
91 | 3108 | mdecorde | } |
92 | 3108 | mdecorde | }); |
93 | 3108 | mdecorde | |
94 | 3108 | mdecorde | // fxCanvas = new FXCanvas(videoComposite, SWT.BORDER);
|
95 | 3108 | mdecorde | // GridData gdata2 = new GridData(SWT.FILL, SWT.FILL, true, true);
|
96 | 3108 | mdecorde | // fxCanvas.setLayoutData(gdata2);
|
97 | 3108 | mdecorde | |
98 | 3108 | mdecorde | initializeBrowser(); |
99 | 3108 | mdecorde | } |
100 | 3108 | mdecorde | |
101 | 3108 | mdecorde | // @Override
|
102 | 3108 | mdecorde | // public void addMouseListener(MouseListener listener) {
|
103 | 3108 | mdecorde | // // jfxBrowser.setOnMousePressed(new EventHandler<MouseEvent>() {
|
104 | 3108 | mdecorde | // //
|
105 | 3108 | mdecorde | // // @Override
|
106 | 3108 | mdecorde | // // public void handle(MouseEvent event) {
|
107 | 3108 | mdecorde | // // // TODO Auto-generated method stub
|
108 | 3108 | mdecorde | // //
|
109 | 3108 | mdecorde | // // }
|
110 | 3108 | mdecorde | // // });
|
111 | 3108 | mdecorde | // fxCanvas.addMouseListener(listener);
|
112 | 3108 | mdecorde | // }
|
113 | 3108 | mdecorde | |
114 | 3108 | mdecorde | protected void resizeView() { |
115 | 3108 | mdecorde | if (jfxBrowser != null) { |
116 | 3108 | mdecorde | Point p = this.getSize(); |
117 | 3108 | mdecorde | // if (previousP == null || (p.x != previousP.x && p.y != previousP.y)) { // ensure size changed
|
118 | 3108 | mdecorde | jfxBrowser.setPrefHeight(p.y); |
119 | 3108 | mdecorde | // jfxBrowser.setMaxWidth(p.x);
|
120 | 3108 | mdecorde | jfxBrowser.setPrefWidth(p.x); |
121 | 3108 | mdecorde | previousP = p; |
122 | 3108 | mdecorde | // }
|
123 | 3108 | mdecorde | } |
124 | 3108 | mdecorde | } |
125 | 3108 | mdecorde | |
126 | 3108 | mdecorde | private Group group; |
127 | 3108 | mdecorde | |
128 | 3108 | mdecorde | private Scene scene;
|
129 | 3108 | mdecorde | |
130 | 3108 | mdecorde | protected boolean initializeBrowser() { |
131 | 3108 | mdecorde | |
132 | 3108 | mdecorde | Platform.setImplicitExit(false);
|
133 | 3108 | mdecorde | jfxBrowser = new WebView();
|
134 | 3108 | mdecorde | |
135 | 3108 | mdecorde | group = new Group(jfxBrowser); |
136 | 3108 | mdecorde | |
137 | 3108 | mdecorde | // scene = new Scene(group, Color.rgb(fxCanvas.getBackground().getRed(), fxCanvas.getBackground().getGreen(), fxCanvas.getBackground().getBlue()));
|
138 | 3108 | mdecorde | scene = new Scene(group, Color.rgb(0, 0, 0)); |
139 | 3108 | mdecorde | |
140 | 3108 | mdecorde | this.setScene(jfxBrowser.getScene());
|
141 | 3108 | mdecorde | |
142 | 3108 | mdecorde | return true; |
143 | 3108 | mdecorde | } |
144 | 3108 | mdecorde | |
145 | 3108 | mdecorde | public boolean back() { |
146 | 3108 | mdecorde | try {
|
147 | 3108 | mdecorde | jfxBrowser.getEngine().getHistory().go(-1);
|
148 | 3108 | mdecorde | return true; |
149 | 3108 | mdecorde | } |
150 | 3108 | mdecorde | catch (Exception e) { |
151 | 3108 | mdecorde | return false; |
152 | 3108 | mdecorde | } |
153 | 3108 | mdecorde | } |
154 | 3108 | mdecorde | |
155 | 3108 | mdecorde | public boolean forward() { |
156 | 3108 | mdecorde | try {
|
157 | 3108 | mdecorde | jfxBrowser.getEngine().getHistory().go(1);
|
158 | 3108 | mdecorde | return true; |
159 | 3108 | mdecorde | } |
160 | 3108 | mdecorde | catch (Exception e) { |
161 | 3108 | mdecorde | return false; |
162 | 3108 | mdecorde | } |
163 | 3108 | mdecorde | } |
164 | 3108 | mdecorde | |
165 | 3108 | mdecorde | public void stop() { |
166 | 3108 | mdecorde | // jfxBrowser.getEngine().canc();
|
167 | 3108 | mdecorde | System.out.println("TODO JFXBrowser.stop..."); |
168 | 3108 | mdecorde | } |
169 | 3108 | mdecorde | |
170 | 3108 | mdecorde | public void refresh() { |
171 | 3108 | mdecorde | jfxBrowser.getEngine().reload(); |
172 | 3108 | mdecorde | } |
173 | 3108 | mdecorde | |
174 | 3108 | mdecorde | public void setUrl(String url) { |
175 | 3108 | mdecorde | jfxBrowser.getEngine().load(url); |
176 | 3108 | mdecorde | } |
177 | 3108 | mdecorde | |
178 | 3108 | mdecorde | public void addProgressListener(ProgressListener progressListener) { |
179 | 3108 | mdecorde | // TODO Auto-generated method stub
|
180 | 3108 | mdecorde | System.out.println("TODO JFXBrowser.addProgressListener(" + progressListener + ")"); |
181 | 3108 | mdecorde | } |
182 | 3108 | mdecorde | |
183 | 3108 | mdecorde | public void addStatusTextListener(StatusTextListener listener) { |
184 | 3108 | mdecorde | // TODO Auto-generated method stub
|
185 | 3108 | mdecorde | System.out.println("TODO JFXBrowser.addStatusTextListener(" + listener + ")"); |
186 | 3108 | mdecorde | } |
187 | 3108 | mdecorde | |
188 | 3108 | mdecorde | public void addLocationListener(LocationListener locationListener) { |
189 | 3108 | mdecorde | // TODO Auto-generated method stub
|
190 | 3108 | mdecorde | System.out.println("TODO JFXBrowser.addLocationListener(" + locationListener + ")"); |
191 | 3108 | mdecorde | } |
192 | 3108 | mdecorde | |
193 | 3108 | mdecorde | public void addOpenWindowListener(OpenWindowListener listener) { |
194 | 3108 | mdecorde | // TODO Auto-generated method stub
|
195 | 3108 | mdecorde | System.out.println("TODO JFXBrowser.addOpenWindowListener(" + listener + ")"); |
196 | 3108 | mdecorde | } |
197 | 3108 | mdecorde | |
198 | 3108 | mdecorde | public void addVisibilityWindowListener(VisibilityWindowAdapter visibilityWindowAdapter) { |
199 | 3108 | mdecorde | // TODO Auto-generated method stub
|
200 | 3108 | mdecorde | System.out.println("TODO JFXBrowser.addVisibilityWindowListener(" + visibilityWindowAdapter + ")"); |
201 | 3108 | mdecorde | } |
202 | 3108 | mdecorde | |
203 | 3108 | mdecorde | public void addCloseWindowListener(CloseWindowListener listener) { |
204 | 3108 | mdecorde | // TODO Auto-generated method stub
|
205 | 3108 | mdecorde | System.out.println("TODO JFXBrowser.addCloseWindowListener(" + listener + ")"); |
206 | 3108 | mdecorde | } |
207 | 3108 | mdecorde | |
208 | 3108 | mdecorde | public void addTitleListener(TitleListener listener) { |
209 | 3108 | mdecorde | // TODO Auto-generated method stub
|
210 | 3108 | mdecorde | System.out.println("TODO JFXBrowser.addTitleListener(" + listener + ")"); |
211 | 3108 | mdecorde | } |
212 | 3108 | mdecorde | |
213 | 3108 | mdecorde | public void removeLocationListener(LocationListener locationListener) { |
214 | 3108 | mdecorde | // TODO Auto-generated method stub
|
215 | 3108 | mdecorde | System.out.println("TODO JFXBrowser.removeLocationListener(" + locationListener + ")"); |
216 | 3108 | mdecorde | } |
217 | 3108 | mdecorde | |
218 | 3108 | mdecorde | public static void main(String[] args) { |
219 | 3108 | mdecorde | Display display = new Display();
|
220 | 3108 | mdecorde | final Shell shell = new Shell(display); |
221 | 3108 | mdecorde | shell.setText("Snippet 128");
|
222 | 3108 | mdecorde | GridLayout gridLayout = new GridLayout(); |
223 | 3108 | mdecorde | gridLayout.numColumns = 3;
|
224 | 3108 | mdecorde | shell.setLayout(gridLayout); |
225 | 3108 | mdecorde | ToolBar toolbar = new ToolBar(shell, SWT.NONE);
|
226 | 3108 | mdecorde | ToolItem itemBack = new ToolItem(toolbar, SWT.PUSH);
|
227 | 3108 | mdecorde | itemBack.setText("Back");
|
228 | 3108 | mdecorde | ToolItem itemForward = new ToolItem(toolbar, SWT.PUSH);
|
229 | 3108 | mdecorde | itemForward.setText("Forward");
|
230 | 3108 | mdecorde | ToolItem itemStop = new ToolItem(toolbar, SWT.PUSH);
|
231 | 3108 | mdecorde | itemStop.setText("Stop");
|
232 | 3108 | mdecorde | ToolItem itemRefresh = new ToolItem(toolbar, SWT.PUSH);
|
233 | 3108 | mdecorde | itemRefresh.setText("Refresh");
|
234 | 3108 | mdecorde | ToolItem itemGo = new ToolItem(toolbar, SWT.PUSH);
|
235 | 3108 | mdecorde | itemGo.setText("Go");
|
236 | 3108 | mdecorde | |
237 | 3108 | mdecorde | GridData data = new GridData();
|
238 | 3108 | mdecorde | data.horizontalSpan = 3;
|
239 | 3108 | mdecorde | toolbar.setLayoutData(data); |
240 | 3108 | mdecorde | |
241 | 3108 | mdecorde | Label labelAddress = new Label(shell, SWT.NONE); |
242 | 3108 | mdecorde | labelAddress.setText("Address");
|
243 | 3108 | mdecorde | |
244 | 3108 | mdecorde | final Text location = new Text(shell, SWT.BORDER); |
245 | 3108 | mdecorde | data = new GridData();
|
246 | 3108 | mdecorde | data.horizontalAlignment = GridData.FILL; |
247 | 3108 | mdecorde | data.horizontalSpan = 2;
|
248 | 3108 | mdecorde | data.grabExcessHorizontalSpace = true;
|
249 | 3108 | mdecorde | location.setLayoutData(data); |
250 | 3108 | mdecorde | |
251 | 3108 | mdecorde | final JFXBrowser browser;
|
252 | 3108 | mdecorde | try {
|
253 | 3108 | mdecorde | browser = new JFXBrowser(shell, SWT.NONE);
|
254 | 3108 | mdecorde | } |
255 | 3108 | mdecorde | catch (SWTError e) {
|
256 | 3108 | mdecorde | System.out.println("Could not instantiate Browser: " + e.getMessage()); |
257 | 3108 | mdecorde | display.dispose(); |
258 | 3108 | mdecorde | return;
|
259 | 3108 | mdecorde | } |
260 | 3108 | mdecorde | data = new GridData();
|
261 | 3108 | mdecorde | data.horizontalAlignment = GridData.FILL; |
262 | 3108 | mdecorde | data.verticalAlignment = GridData.FILL; |
263 | 3108 | mdecorde | data.horizontalSpan = 3;
|
264 | 3108 | mdecorde | data.grabExcessHorizontalSpace = true;
|
265 | 3108 | mdecorde | data.grabExcessVerticalSpace = true;
|
266 | 3108 | mdecorde | browser.setLayoutData(data); |
267 | 3108 | mdecorde | |
268 | 3108 | mdecorde | final Label status = new Label(shell, SWT.NONE); |
269 | 3108 | mdecorde | data = new GridData(GridData.FILL_HORIZONTAL);
|
270 | 3108 | mdecorde | data.horizontalSpan = 2;
|
271 | 3108 | mdecorde | status.setLayoutData(data); |
272 | 3108 | mdecorde | |
273 | 3108 | mdecorde | final ProgressBar progressBar = new ProgressBar(shell, SWT.NONE); |
274 | 3108 | mdecorde | data = new GridData();
|
275 | 3108 | mdecorde | data.horizontalAlignment = GridData.END; |
276 | 3108 | mdecorde | progressBar.setLayoutData(data); |
277 | 3108 | mdecorde | |
278 | 3108 | mdecorde | /* event handling */
|
279 | 3108 | mdecorde | Listener listener = event -> { |
280 | 3108 | mdecorde | ToolItem item = (ToolItem) event.widget; |
281 | 3108 | mdecorde | String string = item.getText();
|
282 | 3108 | mdecorde | if (string.equals("Back")) |
283 | 3108 | mdecorde | browser.back(); |
284 | 3108 | mdecorde | else if (string.equals("Forward")) |
285 | 3108 | mdecorde | browser.forward(); |
286 | 3108 | mdecorde | else if (string.equals("Stop")) |
287 | 3108 | mdecorde | browser.stop(); |
288 | 3108 | mdecorde | else if (string.equals("Refresh")) |
289 | 3108 | mdecorde | browser.refresh(); |
290 | 3108 | mdecorde | else if (string.equals("Go")) |
291 | 3108 | mdecorde | browser.setUrl(location.getText()); |
292 | 3108 | mdecorde | }; |
293 | 3108 | mdecorde | browser.addProgressListener(new ProgressListener() {
|
294 | 3108 | mdecorde | |
295 | 3108 | mdecorde | @Override
|
296 | 3108 | mdecorde | public void changed(ProgressEvent event) { |
297 | 3108 | mdecorde | if (event.total == 0) return; |
298 | 3108 | mdecorde | int ratio = event.current * 100 / event.total; |
299 | 3108 | mdecorde | progressBar.setSelection(ratio); |
300 | 3108 | mdecorde | } |
301 | 3108 | mdecorde | |
302 | 3108 | mdecorde | @Override
|
303 | 3108 | mdecorde | public void completed(ProgressEvent event) { |
304 | 3108 | mdecorde | progressBar.setSelection(0);
|
305 | 3108 | mdecorde | } |
306 | 3108 | mdecorde | }); |
307 | 3108 | mdecorde | |
308 | 3108 | mdecorde | browser.addLocationListener(new LocationListener() {
|
309 | 3108 | mdecorde | |
310 | 3108 | mdecorde | @Override
|
311 | 3108 | mdecorde | public void changing(LocationEvent event) {} |
312 | 3108 | mdecorde | |
313 | 3108 | mdecorde | @Override
|
314 | 3108 | mdecorde | public void changed(LocationEvent event) { |
315 | 3108 | mdecorde | if (event.top) location.setText(event.location);
|
316 | 3108 | mdecorde | } |
317 | 3108 | mdecorde | }); |
318 | 3108 | mdecorde | // browser.addLocationListener(LocationListener.changed(event -> {
|
319 | 3108 | mdecorde | // if (event.top) location.setText(event.location);
|
320 | 3108 | mdecorde | // }));
|
321 | 3108 | mdecorde | itemBack.addListener(SWT.Selection, listener); |
322 | 3108 | mdecorde | itemForward.addListener(SWT.Selection, listener); |
323 | 3108 | mdecorde | itemStop.addListener(SWT.Selection, listener); |
324 | 3108 | mdecorde | itemRefresh.addListener(SWT.Selection, listener); |
325 | 3108 | mdecorde | itemGo.addListener(SWT.Selection, listener); |
326 | 3108 | mdecorde | location.addListener(SWT.DefaultSelection, e -> browser.setUrl(location.getText())); |
327 | 3108 | mdecorde | |
328 | 3108 | mdecorde | browser.addMouseListener(new MouseListener() { |
329 | 3108 | mdecorde | |
330 | 3108 | mdecorde | @Override
|
331 | 3108 | mdecorde | public void mouseUp(MouseEvent e) { |
332 | 3108 | mdecorde | System.out.println("M UP"); |
333 | 3108 | mdecorde | } |
334 | 3108 | mdecorde | |
335 | 3108 | mdecorde | @Override
|
336 | 3108 | mdecorde | public void mouseDown(MouseEvent e) { |
337 | 3108 | mdecorde | System.out.println("M DOWN"); |
338 | 3108 | mdecorde | } |
339 | 3108 | mdecorde | |
340 | 3108 | mdecorde | @Override
|
341 | 3108 | mdecorde | public void mouseDoubleClick(MouseEvent e) { |
342 | 3108 | mdecorde | System.out.println("M DCLICK"); |
343 | 3108 | mdecorde | } |
344 | 3108 | mdecorde | }); |
345 | 3108 | mdecorde | |
346 | 3108 | mdecorde | browser.addKeyListener(new KeyListener() { |
347 | 3108 | mdecorde | |
348 | 3108 | mdecorde | @Override
|
349 | 3108 | mdecorde | public void keyReleased(KeyEvent e) {} |
350 | 3108 | mdecorde | |
351 | 3108 | mdecorde | @Override
|
352 | 3108 | mdecorde | public void keyPressed(KeyEvent e) { |
353 | 3108 | mdecorde | System.out.println("K " + e); |
354 | 3108 | mdecorde | } |
355 | 3108 | mdecorde | }); |
356 | 3108 | mdecorde | |
357 | 3108 | mdecorde | shell.open(); |
358 | 3108 | mdecorde | // browser.setUrl("http://eclipse.org");
|
359 | 3108 | mdecorde | |
360 | 3108 | mdecorde | while (!shell.isDisposed()) {
|
361 | 3108 | mdecorde | if (!display.readAndDispatch())
|
362 | 3108 | mdecorde | display.sleep(); |
363 | 3108 | mdecorde | } |
364 | 3108 | mdecorde | display.dispose(); |
365 | 3108 | mdecorde | } |
366 | 3108 | mdecorde | |
367 | 3108 | mdecorde | public WebView getWebView() {
|
368 | 3108 | mdecorde | return this.jfxBrowser; |
369 | 3108 | mdecorde | } |
370 | 3108 | mdecorde | |
371 | 3108 | mdecorde | public String getUrl() { |
372 | 3108 | mdecorde | return jfxBrowser.getEngine().getLocation();
|
373 | 3108 | mdecorde | } |
374 | 3108 | mdecorde | |
375 | 3108 | mdecorde | public boolean isBackEnabled() { |
376 | 3108 | mdecorde | return jfxBrowser.getEngine().getHistory().getCurrentIndex() > 0; |
377 | 3108 | mdecorde | } |
378 | 3108 | mdecorde | |
379 | 3108 | mdecorde | public boolean isForwardEnabled() { |
380 | 3108 | mdecorde | return jfxBrowser.getEngine().getHistory().getCurrentIndex() < jfxBrowser.getEngine().getHistory().getEntries().size();
|
381 | 3108 | mdecorde | } |
382 | 3108 | mdecorde | |
383 | 3108 | mdecorde | public boolean setUrl(String url, String postData, String[] headers) { |
384 | 3108 | mdecorde | // TODO Auto-generated method stub
|
385 | 3108 | mdecorde | jfxBrowser.getEngine().load(url); |
386 | 3108 | mdecorde | return true; |
387 | 3108 | mdecorde | } |
388 | 3108 | mdecorde | } |