└── javaBrowser ├── .gitignore ├── lib ├── djnativeswing-swt.jar ├── djnativeswing.jar ├── jxbrowser-6.14.jar ├── jxbrowser-win32-6.14.jar └── org.eclipse.swt.win32.win32.x86_64-4.3.jar ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── iking │ │ └── javabrowser │ │ ├── Browser2.java │ │ ├── JavabrowserApplication.java │ │ ├── SWTtest.java │ │ └── Test.java └── resources │ └── application.properties └── test └── java └── com └── iking └── javabrowser └── JavabrowserApplicationTests.java /javaBrowser/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | .sts4-cache 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | /nbproject/private/ 21 | /build/ 22 | /nbbuild/ 23 | /dist/ 24 | /nbdist/ 25 | /.nb-gradle/ -------------------------------------------------------------------------------- /javaBrowser/lib/djnativeswing-swt.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tanjiawei1199/javaBrowser/8ebf4d842e864f310db1abcf81266d90367cc540/javaBrowser/lib/djnativeswing-swt.jar -------------------------------------------------------------------------------- /javaBrowser/lib/djnativeswing.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tanjiawei1199/javaBrowser/8ebf4d842e864f310db1abcf81266d90367cc540/javaBrowser/lib/djnativeswing.jar -------------------------------------------------------------------------------- /javaBrowser/lib/jxbrowser-6.14.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tanjiawei1199/javaBrowser/8ebf4d842e864f310db1abcf81266d90367cc540/javaBrowser/lib/jxbrowser-6.14.jar -------------------------------------------------------------------------------- /javaBrowser/lib/jxbrowser-win32-6.14.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tanjiawei1199/javaBrowser/8ebf4d842e864f310db1abcf81266d90367cc540/javaBrowser/lib/jxbrowser-win32-6.14.jar -------------------------------------------------------------------------------- /javaBrowser/lib/org.eclipse.swt.win32.win32.x86_64-4.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tanjiawei1199/javaBrowser/8ebf4d842e864f310db1abcf81266d90367cc540/javaBrowser/lib/org.eclipse.swt.win32.win32.x86_64-4.3.jar -------------------------------------------------------------------------------- /javaBrowser/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.springframework.boot 7 | spring-boot-starter-parent 8 | 2.1.1.RELEASE 9 | 10 | 11 | com.iking 12 | javabrowser 13 | 0.0.1-SNAPSHOT 14 | javabrowser 15 | Demo project for Spring Boot 16 | 17 | 18 | 1.8 19 | 20 | 21 | 22 | 23 | org.springframework.boot 24 | spring-boot-starter 25 | 26 | 27 | 28 | org.springframework.boot 29 | spring-boot-starter-test 30 | test 31 | 32 | 33 | 34 | 35 | 36 | 37 | org.springframework.boot 38 | spring-boot-maven-plugin 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /javaBrowser/src/main/java/com/iking/javabrowser/Browser2.java: -------------------------------------------------------------------------------- 1 | package com.iking.javabrowser; 2 | import java.awt.*; 3 | import java.awt.event.ItemEvent; 4 | import java.awt.event.ItemListener; 5 | 6 | import javax.swing.*; 7 | 8 | import chrriis.common.UIUtils; 9 | import chrriis.dj.nativeswing.swtimpl.NativeInterface; 10 | import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser; 11 | import chrriis.dj.nativeswing.swtimpl.components.WebBrowserAdapter; 12 | import chrriis.dj.nativeswing.swtimpl.components.WebBrowserEvent; 13 | 14 | public class Browser2 extends JPanel { 15 | public Browser2() { 16 | super(new BorderLayout()); 17 | JPanel webBrowserPanel = new JPanel(new BorderLayout()); 18 | webBrowserPanel.setBorder(BorderFactory.createTitledBorder("Native Web Browser component")); 19 | final JWebBrowser webBrowser = new JWebBrowser(); 20 | webBrowser.navigate("http://www.baidu.com"); 21 | webBrowserPanel.add(webBrowser, BorderLayout.CENTER); 22 | add(webBrowserPanel, BorderLayout.CENTER); 23 | // Create an additional bar allowing to show/hide the menu bar of the web browser. 24 | JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 4, 4)); 25 | JCheckBox menuBarCheckBox = new JCheckBox("Menu Bar", webBrowser.isMenuBarVisible()); 26 | menuBarCheckBox.addItemListener(new ItemListener() { 27 | public void itemStateChanged(ItemEvent e) { 28 | webBrowser.setMenuBarVisible(e.getStateChange() == ItemEvent.SELECTED); 29 | } 30 | }); 31 | buttonPanel.add(menuBarCheckBox); 32 | add(buttonPanel, BorderLayout.SOUTH); 33 | } 34 | 35 | /* Standard main method to try that test as a standalone application. */ 36 | public static void main(String[] args) { 37 | UIUtils.setPreferredLookAndFeel(); 38 | NativeInterface.open(); 39 | SwingUtilities.invokeLater(new Runnable() { 40 | public void run() { 41 | JFrame frame = new JFrame("DJ Native Swing Test"); 42 | frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 43 | frame.getContentPane().add(new Browser2(), BorderLayout.CENTER); 44 | //不显示标题栏,最大化,最小化,退出按钮 45 | frame.setUndecorated(true); 46 | frame.setSize(800, 600); 47 | frame.setLocationByPlatform(true); 48 | frame.setVisible(true); 49 | } 50 | }); 51 | NativeInterface.runEventPump(); 52 | } 53 | } -------------------------------------------------------------------------------- /javaBrowser/src/main/java/com/iking/javabrowser/JavabrowserApplication.java: -------------------------------------------------------------------------------- 1 | package com.iking.javabrowser; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class JavabrowserApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(JavabrowserApplication.class, args); 11 | } 12 | 13 | } 14 | 15 | -------------------------------------------------------------------------------- /javaBrowser/src/main/java/com/iking/javabrowser/SWTtest.java: -------------------------------------------------------------------------------- 1 | package com.iking.javabrowser; 2 | 3 | import org.eclipse.swt.SWT; 4 | import org.eclipse.swt.browser.Browser; 5 | import org.eclipse.swt.widgets.*; 6 | 7 | /**** 8 | * 9 | * @author tjw 10 | * @versuion 1.0 11 | * @date 2018/12/13 17:59 12 | */ 13 | public class SWTtest { 14 | public static void main(String args[]) 15 | { 16 | Display display=new Display(); 17 | Shell shell=new Shell(display); 18 | shell.setText("SWT Browser Test"); 19 | shell.setSize(800,600); 20 | 21 | final Text text=new Text(shell,SWT.BORDER); 22 | text.setBounds(110,5,560,25); 23 | Button button=new Button(shell,SWT.BORDER); 24 | button.setBounds(680,5,100,25); 25 | button.setText("go"); 26 | Label label=new Label(shell,SWT.LEFT); 27 | label.setText("输入网址 :"); 28 | label.setBounds(5, 5, 100, 25); 29 | 30 | final Browser browser=new Browser(shell,SWT.FILL); 31 | browser.setBounds(5,30,780,560); 32 | 33 | button.addListener(SWT.Selection, new Listener() 34 | { 35 | public void handleEvent(Event event) 36 | { 37 | String input=text.getText().trim(); 38 | if(input.length()==0)return; 39 | if(!input.startsWith("http://")) 40 | { 41 | input="http://"+input; 42 | text.setText(input); 43 | } 44 | browser.setUrl(input); 45 | } 46 | }); 47 | 48 | shell.open(); 49 | while (!shell.isDisposed()) { 50 | if (!display.readAndDispatch()) 51 | display.sleep(); 52 | } 53 | display.dispose(); 54 | 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /javaBrowser/src/main/java/com/iking/javabrowser/Test.java: -------------------------------------------------------------------------------- 1 | package com.iking.javabrowser; 2 | 3 | import com.teamdev.jxbrowser.chromium.Browser; 4 | import com.teamdev.jxbrowser.chromium.swing.BrowserView; 5 | 6 | import javax.swing.*; 7 | import java.awt.event.WindowAdapter; 8 | import java.awt.event.WindowEvent; 9 | 10 | /**** 11 | * 12 | * @author tjw 13 | * @versuion 1.0 14 | * @date 2018/12/13 17:16 15 | */ 16 | public class Test { 17 | public static void main(String[] args) { 18 | String url = "http://www.baidu.com"; 19 | 20 | JFrame frame = new JFrame(); 21 | 22 | // 谷歌内核浏览器 23 | Browser browser = new Browser(); 24 | BrowserView view = new BrowserView(browser); 25 | //禁用close功能 26 | // frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 27 | //隐藏任务栏图标 28 | // frame.setType(JFrame.Type.UTILITY); 29 | // //不显示标题栏,最大化,最小化,退出按钮 30 | frame.setUndecorated(true); 31 | //尺寸 32 | // frame.setSize(500, 500); 33 | //坐标 34 | frame.setLocation(0, 0); 35 | frame.add(view); 36 | //全屏显示 37 | frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 38 | // 是否显示 39 | frame.setVisible(true); 40 | //是否在屏幕最上层显示 41 | frame.setAlwaysOnTop(true); 42 | //加载地址 43 | browser.loadURL(url); 44 | 45 | // System.out.println(frame.getX()); 46 | // System.out.println(frame.getY()); 47 | // list.add(frame); 48 | frame.addWindowListener(new WindowAdapter() { 49 | // 窗口关闭时间监听 50 | @Override 51 | public void windowClosing(WindowEvent e){ 52 | System.out.println("窗口关闭..."); 53 | } 54 | }); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /javaBrowser/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tanjiawei1199/javaBrowser/8ebf4d842e864f310db1abcf81266d90367cc540/javaBrowser/src/main/resources/application.properties -------------------------------------------------------------------------------- /javaBrowser/src/test/java/com/iking/javabrowser/JavabrowserApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.iking.javabrowser; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class JavabrowserApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { 14 | } 15 | 16 | } 17 | 18 | --------------------------------------------------------------------------------