Skip to content

Instantly share code, notes, and snippets.

@tckb
Created March 29, 2014 09:14
Show Gist options
  • Save tckb/9851205 to your computer and use it in GitHub Desktop.
Save tckb/9851205 to your computer and use it in GitHub Desktop.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jnatest;
import chrriis.common.UIUtils;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;
import com.sun.corba.se.impl.orb.ParserTable.TestORBSocketFactory;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.File;
import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import org.jibble.webserver.SimpleWebServer;
/**
*
* @author student
*/
public class SimpleWebBrowserExample extends JPanel {
private final SimpleWebServer geServer;
public SimpleWebBrowserExample() {
super(new BorderLayout());
JPanel webBrowserPanel = new JPanel(new BorderLayout());
geServer = new SimpleWebServer(new File("c:/sws/"), 2012);
webBrowserPanel.setBorder(BorderFactory.createTitledBorder("Native Web Browser component"));
final JWebBrowser webBrowser = new JWebBrowser();
webBrowser.navigate("http://localhost:2012");
webBrowserPanel.add(webBrowser, BorderLayout.CENTER);
webBrowser.setBarsVisible(false);
webBrowser.setButtonBarVisible(false);
webBrowser.setMenuBarVisible(false);
webBrowser.setStatusBarVisible(false);
webBrowser.setDefaultPopupMenuRegistered(false);
add(webBrowserPanel, BorderLayout.CENTER);
// Create an additional bar allowing to show/hide the menu bar of the web browser.
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 4, 4));
JCheckBox menuBarCheckBox = new JCheckBox("Menu Bar", webBrowser.isMenuBarVisible());
add(buttonPanel, BorderLayout.SOUTH);
geServer.startServer();
}
public void close(){
geServer.stopServer();
}
/* Standard main method to try that test as a standalone application. */
public static void main(String[] args) {
UIUtils.setPreferredLookAndFeel();
NativeInterface.open();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("DJ Native Swing Test");
final SimpleWebBrowserExample testEx = new SimpleWebBrowserExample();
frame.addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
}
@Override
public void windowClosing(WindowEvent e) {
testEx.close();
}
@Override
public void windowClosed(WindowEvent e) {
}
@Override
public void windowIconified(WindowEvent e) {
}
@Override
public void windowDeiconified(WindowEvent e) {
}
@Override
public void windowActivated(WindowEvent e) {
}
@Override
public void windowDeactivated(WindowEvent e) {
}
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(testEx, BorderLayout.CENTER);
frame.setSize(850, 650);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
});
NativeInterface.runEventPump();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment