怎么用java实现程序中内置浏览器,并且能通过软件向浏览器的页面中输入字符谢谢Java的话,可以用自带的JavaFX中的浏览器(需要JDK7以上),或者通过SWT来内嵌浏览器 。
C的选择就更多了,IE的浏览器控件,个主流浏览器的封装 。
运行时可调用浏览器打开一个网页,网页地址在代码中的java代码怎么写?网页地址在代码中的java代码写法如下java内嵌浏览器代码:
packagecom.test;
importjava.lang.reflect.Method;
//实现打开浏览器并跳到指定网址的类
publicclassBareBonesBrowserLaunch{
publicstaticvoidopenURL(Stringurl){
try{
browse(url);
}catch(Exceptione){
}
}
privatestaticvoidbrowse(Stringurl)throwsException{
【java内嵌浏览器代码 java如何在浏览器上运行】//获取操作系统的名字
StringosName=System.getProperty("os.name","");
if(osName.startsWith("MacOS")){
//苹果的打开方式
ClassfileMgr=Class.forName("com.apple.eio.FileManager");
MethodopenURL=fileMgr.getDeclaredMethod("openURL",newClass[]{String.class});
openURL.invoke(null,newObject[]{url});
}elseif(osName.startsWith("Windows")){
//windows的打开方式 。
Runtime.getRuntime().exec("rundll32url.dll,FileProtocolHandler" url);
}else{
//UnixorLinux的打开方式
String[]browsers={"firefox","opera","konqueror","epiphany","mozilla","netscape"};
Stringbrowser=null;
for(intcount=0;countbrowsers.lengthbrowser==null;count)
//执行代码java内嵌浏览器代码,在brower有值后跳出java内嵌浏览器代码,
//这里是如果进程创建成功java内嵌浏览器代码了java内嵌浏览器代码,==0是表示正常结束 。
if(Runtime.getRuntime().exec(newString[]{"which",browsers[count]}).waitFor()==0)
browser=browsers[count];
if(browser==null)
thrownewException("Couldnotfindwebbrowser");
else
//这个值在上面已经成功的得到了一个进程 。
Runtime.getRuntime().exec(newString[]{browser,url});
}
}
}
//主方法测试类
publicstaticvoidmain(String[]args){
Stringurl="";
BareBonesBrowserLaunch.openURL(url);
}
java浏览器的开发html显示异常,一定要内嵌浏览器吗java浏览器开发,其实很简单, 使用JavaFXjava内嵌浏览器代码的WebView组件即可.(支持html5); 也可以在swing里使用JFXPanel然后添加WebView;
效果图如下
参考代码如下(java8 win10 x64 编写,测试)
import javafx.application.Application;
import javafx.concurrent.Worker.State;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.scene.web.*;
import javafx.stage.Stage;
public class WebViewTest extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
//顶部
HBox hbox=new HBox(8);
Label labeAddr=new Label("地址");
TextField tfAddr = new TextField();
tfAddr.setMinWidth(500);
tfAddr.setText("");
Button btnGo = new Button("Go转到");
Button btnGoBack=new Button("-");
Button btnH=new Button("-");
TextField tfSerch = new TextField();
Button btnSerch= new Button("捜");
hbox.getChildren().addAll(labeAddr,tfAddr,btnGoBack,btnH,btnGo,tfSerch,btnSerch);
hbox.setPadding(new Insets(5));
//中间
WebView wv = new WebView();
WebEngine we = wv.getEngine();
we.getLoadWorker().stateProperty().addListener((ob, ov, nv) - {
if(nv==State.SCHEDULED) {
tfAddr.setText(we.getLocation());//
}
});
//底部
Label labelBottom = new Label();
labelBottom.textProperty().bind(we.getLoadWorker().messageProperty());//底下java内嵌浏览器代码的信息显示
BorderPane root = new BorderPane();
root.setTop(hbox);
root.setCenter(wv);
root.setBottom(labelBottom);
Scene scene = new Scene(root, 900, 600);
primaryStage.setTitle("JavaFX 雪飞潇潇 web浏览器");
primaryStage.setScene(scene);
primaryStage.show();
btnGo.setOnAction(e - {
we.load(tfAddr.getText().trim());
});
btnGoBack.setOnAction(e-{
we.executeScript("history.back()");//执行JavaScript,后退
});
btnH.setOnAction(e-{
we.executeScript("history.forward()");//执行JavaScript,前进
});
//搜索
btnSerch.setOnAction(e-{
we.load("" tfSerch.getText());
});
}
}
关于java内嵌浏览器代码和java如何在浏览器上运行的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- linux命令查看编码,linux如何查看编码
- 卡丁车自由射击游戏下载,卡丁车游戏在线玩
- excel下拉规则怎么改,EXcel下拉怎么取消
- oracle如何sid oracle如何创建表空间
- .net框架c教材,net框架技术包含内容
- 电商账号如何办理,电商怎么注册店铺
- 广告联盟代理平台哪个好用,广告联盟平台怎么挣钱
- go语言的映射实现 go语言接口实现
- 系统U盘怎么替换里面的系统,系统u盘多少钱