Changeset 548 for trunk/src/org/expeditee/items/widgets
- Timestamp:
- 11/27/13 16:57:30 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/items/widgets/JfxBrowser.java
r547 r548 10 10 import java.io.File; 11 11 import java.lang.reflect.Constructor; 12 import java.lang.reflect.InvocationTargetException; 12 13 import java.lang.reflect.Method; 13 14 import java.net.URL; … … 34 35 */ 35 36 public class JfxBrowser extends DataFrameWidget { 37 38 private static final String BACK = "back"; 39 private static final String FORWARD = "forward"; 40 private static final String REFRESH = "refresh"; 41 36 42 private WebBrowserPanel _browser; 37 43 … … 56 62 static Method WebEngineGetLocation; 57 63 static Method WebEngineGetLoadWorker; 64 static Method WebEngineGetHistory; 65 static Method WebEngineReload; 66 67 static Class WebHistory; 68 static Method WebHistoryGo; 58 69 59 70 static Class Worker; … … 105 116 WebEngineGetLocation = WebEngine.getMethod("getLocation"); 106 117 WebEngineGetLoadWorker = WebEngine.getMethod("getLoadWorker"); 118 WebEngineGetHistory = WebEngine.getMethod("getHistory"); 119 WebEngineReload = WebEngine.getMethod("reload"); 120 121 WebHistory = classLoader.loadClass("javafx.scene.web.WebHistory"); 122 WebHistoryGo = WebHistory.getMethod("go", int.class); 107 123 108 124 Worker = classLoader.loadClass("javafx.concurrent.Worker"); … … 332 348 } 333 349 350 /** 351 * Navigates JfxBrowser back through history. If end of history reached the user is notified via the MessageBay. 352 * Max size of history is 100 by default. 353 */ 354 public void navigateBack() { 355 try { 356 WebHistoryGo.invoke(WebEngineGetHistory.invoke(WebViewGetEngine.invoke(this._browser.webview)), -1); 357 FreeItems.getInstance().clear(); 358 } catch (InvocationTargetException e) { 359 MessageBay.displayMessage("End of History"); 360 } catch (Exception e) { 361 e.printStackTrace(); 362 } 363 } 364 365 /** 366 * Navigates JfxBrowser forward through history. If end of history reached the user is notified via the MessageBay. 367 * Max size of history is 100 by default. 368 */ 369 public void navigateForward() { 370 try { 371 WebHistoryGo.invoke(WebEngineGetHistory.invoke(WebViewGetEngine.invoke(this._browser.webview)), 1); 372 FreeItems.getInstance().clear(); 373 } catch (InvocationTargetException e) { 374 MessageBay.displayMessage("End of History"); 375 } catch (Exception e) { 376 e.printStackTrace(); 377 } 378 } 379 380 /** 381 * Refreshes page in webview. 382 */ 383 public void refresh() { 384 try { 385 //WebEngineReload.invoke(WebViewGetEngine.invoke(this._browser.webview)); 386 MessageBay.displayMessage("Page Refreshed"); 387 FreeItems.getInstance().clear(); 388 } catch (Exception e) { 389 e.printStackTrace(); 390 } 391 } 392 334 393 @Override 335 394 public boolean ItemsLeftClickDropped() { 336 395 Text carried = null; 337 if ((carried = FreeItems.getTextAttachedToCursor()) != null) { 396 if ((carried = FreeItems.getTextAttachedToCursor()) == null) { 397 return false; 398 } 399 400 if(carried.getText().toLowerCase().equals(BACK)) { 401 navigateBack(); 402 } else if(carried.getText().toLowerCase().equals(FORWARD)) { 403 navigateForward(); 404 } else if(carried.getText().toLowerCase().equals(REFRESH)) { 405 refresh(); 406 } else { 338 407 String text = carried.getText().trim(); 339 408 this.navigate(text); 340 409 FreeItems.getInstance().clear(); 341 return true;342 }343 return false;410 } 411 412 return true; 344 413 } 345 414
Note:
See TracChangeset
for help on using the changeset viewer.