注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

和申的个人主页

专注于java开发,1985wanggang

 
 
 

日志

 
 

The DJ Project 使用tab模式,添加关闭按钮  

2014-01-15 14:23:50|  分类: 爬虫相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
tab关闭按钮,效果图:
The DJ Project 使用tab模式,添加关闭按钮 - 和申 - 和申的个人主页
 
 
使用dj project 按tab模式,增加tab上面的关闭按钮:

/**
*
*/
package com.brower;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.border.EtchedBorder;

import chrriis.common.UIUtils;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserAdapter;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserNavigationEvent;

/**
* @author wanggang
* @version 2014年1月15日
*/
public class TestTab {

public static JPanel createContent() {
JPanel contentPane = new JPanel(new BorderLayout());


final JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);

final JWebBrowser webBrowser = new JWebBrowser();
webBrowser.navigate("http://www.google.com");

tabbedPane.addTab("Home", webBrowser);
webBrowser.navigate("file:///C:/browser/index.html");
webBrowser.addWebBrowserListener(new WebBrowserAdapter() {
@Override
public void locationChanging(final WebBrowserNavigationEvent e) {
final String newResourceLocation = e.getNewResourceLocation();
e.consume();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
final JWebBrowser webBrowser = new JWebBrowser();
webBrowser.navigate(newResourceLocation);
webBrowser.setBorder(BorderFactory.createTitledBorder(
new EtchedBorder(EtchedBorder.RAISED),
"EAMobuild Browser"));
JPanel tab = new JPanel();
tab.setOpaque(false);
JLabel tabLabel = new JLabel(newResourceLocation);
JButton tabCloseButton = new JButton("关闭");
tabCloseButton.setPreferredSize(new Dimension(20, 20));
tabCloseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int closeTabNumber = tabbedPane
.indexOfComponent(webBrowser);
tabbedPane.removeTabAt(closeTabNumber);
}
});
tab.add(tabLabel, BorderLayout.WEST);
tab.add(tabCloseButton, BorderLayout.EAST);
tabbedPane.addTab("new", webBrowser);
// Instead of using a String/Icon combination for the
// tab,
// use our panel instead.
tabbedPane.setTabComponentAt(
tabbedPane.getTabCount() - 1, tab);
}
});
}
});







tabbedPane.add(webBrowser, BorderLayout.CENTER);
contentPane.add(tabbedPane, 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());
menuBarCheckBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
webBrowser.setMenuBarVisible(e.getStateChange() == ItemEvent.SELECTED);
}
});
buttonPanel.add(menuBarCheckBox);
contentPane.add(buttonPanel, BorderLayout.SOUTH);
return contentPane;
}

/**
* @param args
*/
public static void main(String[] args) {

NativeInterface.open();
UIUtils.setPreferredLookAndFeel();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("DJ Native Swing Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(createContent(), BorderLayout.CENTER);
frame.setSize(800, 600);
frame.setLocationByPlatform(true);
frame.setVisible(true);

}
});
NativeInterface.runEventPump();
}

}




统计信息唧唧歪歪唧唧网ggyygg.net
  评论这张
 
阅读(728)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016