java 编写浏览器_用Java自己写一个浏览器 —— JavaFX 入门

e90e1ebc417c

前言

其实自从学Java以来一直对Java开发桌面端的图形界面程序很感兴趣。

早些年自学的时候还开发过一些小游戏小工具等。

最近才发现JavaFX,有一种相见恨晚的感觉。

简单体验了一下JavaFX,就相当于一个增强版的Swing 、 Awt

开发起来要更方便,效率跟高。

跟着教程学了个入门, 就打算写点什么。

因为发现其内置了一个非常方便WebView,于是用了不到200行代码写一个简易的浏览器。

代码

目录结构

├── src

└── com

└── zzzmh

├── controller

│ └── IndexController.java

├── view

│ └── index.fxml

└── Main.java

主要文件

IndexController.java 负责流程控制、触发效果

package com.zzzmh.controller;

import javafx.beans.value.ChangeListener;

import javafx.beans.value.ObservableValue;

import javafx.concurrent.Worker;

import javafx.scene.control.TextField;

import javafx.scene.web.WebView;

/**

* @auth

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java代码编写的简单网页浏览器,仿IE基础功能,只能解析标准的HTML文件,现在流行的HTML5格式不能解析。使用方法:可直接输入文件名或网络地址,但必需事先连入网络。   JTextField jtfAddress; //输入html文件地址或网址   JButton jbGo; //转到文件按钮   JTextPane jtpShow; //显示文件   JLabel jlInfo; //提示信息   public HTTPBrowserDemo(){    super("html浏览器"); //调用父类构造函数    jtfAddress=new JTextField(20); //实例化地址输入框    jbGo=new JButton("转到"); //实例化转向按钮    jtpShow=new JTextPane(); //实例化显示内容框    jlInfo=new JLabel(); //实例化信息提示标签    JPanel panel=new JPanel(); //实例化面板    panel.add(new JLabel("地址")); //增加组件到面板上    panel.add(jtfAddress);    panel.add(jbGo);    JScrollPane jsp=new JScrollPane(jtpShow); //实例化滚动窗体    Container container=getContentPane(); //得到容器    container.add(panel,BorderLayout.NORTH); //增加组件到容器上    container.add(jsp,BorderLayout.CENTER);    container.add(jlInfo,BorderLayout.SOUTH);    jbGo.addActionListener(new ShowHTMLListener()); //事件处理,发生按钮点击时显示页面内容    jtfAddress.addActionListener(new ShowHTMLListener());    setSize(350,280); //设置窗口尺寸    setVisible(true); //设置窗口可视    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序   }   class ShowHTMLListener implements ActionListener { //显示页面内容事件处理    public void actionPerformed(ActionEvent event) {    try{    jlInfo.setText("正在连接..."); //显示提示信息    URL address=new URL(jtfAddress.getText()); //得到HTML页面的URL地址    jtpShow.setPage(address); //设置显示页面    jlInfo.setText("完成");    }    catch (Exception ex){    jlInfo.setText("连接出错");    ex.printStackTrace(); //输出出错信息    }    }   }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值