使用jxbrowser的javafx browserview组件 写一个browserview面板 嵌入一个tap页 加载百度,滚动条可以滚动到非browserview面板所在的视口区域
时间: 2024-10-28 20:07:31 浏览: 10
jxbrowser7.19.1 javafx windows模块化整合版
3星 · 编辑精心推荐
JxBrowser是一个Java库,它提供了一个功能丰富的Web浏览器组件,可以嵌入到JavaFX应用程序中,如Browserview。以下是创建一个包含Tap页面(即自定义HTML页面)、加载百度并允许滚动至非Browserview区域的简单示例:
```java
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.layout.StackPane;
import javafx.scene.web.WebPage;
import javafx.stage.Stage;
public class JxBrowserExample extends Application {
private Browser browser;
@Override
public void start(Stage primaryStage) {
// 创建BrowserView容器
BrowserView browserview = new BrowserView();
// 设置初始加载的WebPage为百度首页
WebPage page = new WebPage();
page.loadURL("https://www.baidu.com");
// 将WebPage设置给Browserview
browser = (Browser) browserview.getChromiumWebBrowser().getWebEngine();
browser.setWebPage(page);
// 创建一个带有滚动条的StackPane来包裹Browserview
StackPane scrollPane = new StackPane(browserview);
scrollPane.setPadding(new Insets(10)); // 添加边距
// 让ScrollPane的内容始终充满可用空间
scrollPane.fitToWidth(true);
scrollPane.fitToHeight(true);
// 在ScollPane内添加滚动条
ScrollPane scrollBar = new ScrollPane(scrollPane);
scrollBar.setHbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
scrollBar.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
// 设置场景并显示
Scene scene = new Scene(scrollBar, 800, 600); // 宽高根据自己需要调整
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
阅读全文