{{error}}
{{(quickSearchResults.length>10)?'10+':(quickSearchResults.length)}} {{(quickSearchResults.length==1)?'result':'results'}}
{{result.title}} {{result.timeStamp | mysql2ymd }}
I am sorry, no such article was written yet.
TabbedBrowser.java (2842 bytes)
package dms.os.ie;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.Icon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.Border;

import org.jdesktop.jdic.browser.WebBrowser;

import dms.vm.Environment;
import dms.vm.VM;

public class TabbedBrowser extends JFrame {
	public static void main(String[] args) throws MalformedURLException {
		TabbedBrowser w = new TabbedBrowser();
	}

	private static JTabbedPane pane = new JTabbedPane(JTabbedPane.BOTTOM,
			JTabbedPane.WRAP_TAB_LAYOUT);

	public TabbedBrowser() throws MalformedURLException {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Throwable t) {
		}
		this.setVisible(true);
		this.setSize(800, 600);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.add(pane);
		pane.setBorder(new Border() {
			@Override
			public void paintBorder(Component c, Graphics g, int x, int y,
					int width, int height) {
			}

			@Override
			public boolean isBorderOpaque() {
				return false;
			}

			@Override
			public Insets getBorderInsets(Component c) {
				return new Insets(0, 0, 0, 0);
			}
		});
		WebBrowser w1 = new WebBrowser(new URL("http://www.google.com"));
		w1.setLocation(0, -100);
		JPanel console = new JPanel(new BorderLayout());
		final JTextArea outp=new JTextArea();
		console.add(outp);
		JPanel inp = new JPanel(new BorderLayout());
		console.add(inp, BorderLayout.SOUTH);
		final JTextField field = new JTextField();
		inp.add(field);
		JButton run = new JButton("Run");
//		final VM vm = new VM();
		Environment.getInstance().put("TabbedBrowser", Environment.getInstance(), this);
		run.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				Object result=null;
				try {
					result = VM.eval(field.getText(), "console");
				} catch (Throwable t) {
					result=t;
				}
				outp.append(""+result+"\n");
			}
		});
		inp.add(run, BorderLayout.EAST);
		pane.add("Console", console);
		// pane.add("QQQQQQQQQQQQQQQQQQQ12", w1);
		// pane.add("3WWWWWWWWWWWWWWWWWWWW4", new WebBrowser(new URL(
		// "http://www.yahoo.com")));
	}

	public void addTab(String title, String url) throws MalformedURLException {
		pane.add(title, new WebBrowser(new URL(url)));
	}
	public void closeTab(int i) {
		pane.remove(i);
	}
	public void renameTab(int i,String name) {
		pane.setTitleAt(i,name);
	}
	
}