`

xul elements -- tabbox

阅读更多

简单的XUL控件很好理解,可以对比Html找到答案。为了更进一步了解他的优点,看一些稍为复杂一点的控件--Tab。

      在没有使用XUL之前,要实现一个Tab,可能需要几个按钮,几个panel或div,再加上一些脚本来控制,比较麻烦,虽然有些第三方的东西可以实现 Tab功能,例如微软的TabContrl,但始终觉得不方便,需要安装第三方的空间。今天看了看XUL中的Tab,感觉这种控件才是我们想要的。

      首先来看看一个Tab的结构

<tabbox id="tablist">
  <tabs>
    -- tab elements go here --
  </tabs>
  <tabpanels>
    -- tabpanel elements go here --
  </tabpanels>
</tabbox>

      很好理解
      tabbox标签定义了整个tab的容器,下面有两个子容器,一个是tabs,一个是tabpanels,tabs容器里包含了所有的tab按钮,而 tabpanels里包含所有的panel显示,tab按钮与panel是一对一的,即如果tabs里有3个tab,则tabpanels里需要有3个 tabpanel与之对应,下面看一个实际例子:

<tabbox>
  <tabs>
    <tab label="Mail"/>
    <tab label="News"/>
  </tabs>
  <tabpanels>
    <tabpanel id="mailtab">
      <checkbox label="Automatically check for mail"/>
    </tabpanel>
    <tabpanel id="newstab">
      <button label="Clear News Buffer"/>
    </tabpanel>
  </tabpanels>
</tabbox>

      显示效果如下:

So esay,So Cool

      有时候tabpanel里面的内容比较多,还可以分成多个xul页面来编辑

tabButton.xul

<?xml version="1.0"?> 
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xul-overlay href="tab1.xul"?>
<?xul-overlay href="tab2.xul"?>
<window id="findfile-window"    
title="Find Files"    
orient="horizontal"    
xmlns=http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul
> 
<tabbox id="TabBox1" style="margin-top: 3px;" flex="1">
  <tabs id="Tabs1" onselect="alert(event.target.selectedItem.id);"/>
  <tabpanels id="TabPanels1" flex="1" align="stretch" />
</tabbox>
</window>

tab1.xul

<?xml version="1.0"?> 
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<overlay id="tab1overlay"
        xmlns=http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul

  xmlns:html=http://www.w3.org/1999/xhtml
>
<tabbox id="TabBox1" flex="1">
 <tabs id="Tabs1">
  <tab id="tab1" label="tab1"></tab>
 </tabs>
 <tabpanels id="TabPanels1" flex="1" align="stretch">
  <tabpanel id="tabpanel1">
   <label id="label1" value="This is Tab1"/>
  </tabpanel>
 </tabpanels>
</tabbox>
</overlay>

tab2.xul

<?xml version="1.0"?> 
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<overlay id="tab2overlay"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul
"
  xmlns:html="http://www.w3.org/1999/xhtml
">
<tabbox id="TabBox1" flex="1">
 <tabs id="Tabs1">
  <tab id="tab2" label="tab2"></tab>
 </tabs>
 <tabpanels id="TabPanels1" flex="1" align="stretch">
  <tabpanel id="tabpanel2">
   <label id="label2" value="This is Tab2"/>
  </tabpanel>
 </tabpanels>
</tabbox>
</overlay>
分享到:
评论

相关推荐

    Mitschek_Bakkalaureatsarbeit_XPCOM_XUL-final-20100706

    标题:Mitschek_Bakkalaureatsarbeit_XPCOM_XUL-final-20100706 描述:这份文档深入介绍了XPCOM(跨平台组件对象模型)和XUL(XML用户界面语言),这是Mozilla应用的核心技术。作者Andreas Mitschek在2008/09学年的...

    企业信息网格中XUL-SQL技术的研究.pdf

    在企业信息网格领域,XUL-SQL技术的提出和研究具有重要的现实意义,主要体现在其能够实现XML视图的修改转换成对远程关系数据库的修改。随着企业信息化建设的快速发展,信息源异构性问题日益突出,企业信息网格作为...

    分布式信息集成中XUL-SQL问题的研究.pdf

    XUL-SQL问题的研究主要是为了探讨在分布式信息集成平台上如何高效地通过XML视图修改远程关系数据库(RDB)中的数据。 首先,分布式信息集成平台是一种支持异构数据源集成的解决方案,它允许不同的系统和应用共享数据...

    pentaho-xul-swt-7.1.0.0-12.jar

    java运行依赖jar包

    pentaho-xul-swing-7.1.0.0-12.jar

    java运行依赖jar包

    pentaho-xul-core-7.1.0.0-12.jar

    java运行依赖jar包

    XML/XUL Forms-开源

    一组工具,用于在xforms支持下生成基于XUL的表单。

    Scriptol Xul Dev-开源

    **Scriptol Xul Dev 开源开发环境** Scriptol Xul Dev 是一个专为XUL(XML User Interface Language)开发设计的集成开发环境(IDE)。XUL是一种基于XML的语言,主要用于构建跨平台的用户界面,常见于Mozilla Fire...

    Amarok XUL remote-开源

    Amarok XUL Remote是一款开源项目,旨在让用户能够通过网络上的任何安装了Firefox浏览器的设备远程控制AmaroK音乐播放器。这个创新性的工具利用了XUL(XML User Interface Language)技术,使得用户界面可以跨平台...

    XUL#-开源

    XUL#是ac#库,用于使用Mozilla XUL用户界面编写Web和独立应用程序。 可以将同一应用程序托管到ASP.NET或Windows.Form(或Mono)语言中:C#,XUL,HTML

    XUL开发示例-HelloWorld

    自己写的一个xul的小程序。本程序包含了xul程序的基本框架,是初学者入门的不错的选择。下载后,直接在firefox上安装,会在状态栏出现helloworld标签。 也是自己编辑本示例,将文件后缀改为zip,解压就可以看到示例...

    java集成kettle相关jar包

    Java集成Kettle是一个常见的数据处理任务,Kettle是一款强大的ETL(Extract, Transform, Load)工具,也称为Pentaho Data Integration(PDI)。在Java项目中使用Kettle时,通常需要将Kettle的相关库(jar包)引入到...

    xul-ext-eds-calendar:EDS日历集成

    EDS日历集成 EDS日历集成是Thunderbird附加组件。 它将Evolution Data Server与Thunderbird日历同步。 Gnome日期和时间小程序使用EDS显示日历事件。 多亏了这个附加组件,您将获得有关即将发生的事件的不错的系统...

    XUL - XML UI Language-开源

    在压缩包"XUL-talks"中,很可能包含了一系列关于XUL的讲座、讨论或者教程资料。这些内容可能涵盖了XUL的基础概念、高级特性,以及最佳实践,帮助开发者提升对XUL的理解和应用能力。例如,可能有讲解如何创建自定义...

    Luxor XUL-开源

    Luxor是Java中的开源XML UI语言(XUL)工具包,可让您使用XML来构建UI,其中包括Web服务器,门户引擎(支持RSS),模板引擎(Velocity),脚本解释器(Python)和更多的。

    XUL开发手册(firefox)

    ### XUL开发手册详解 #### 一、XUL概述与重要性 XUL(XML User Interface Language)是一种专为Mozilla浏览器及其派生产品设计的标记语言。它利用XML语法为Web应用提供丰富的用户界面功能。XUL的强大之处在于能够...

    Firefox插件(XUL)开发 学习笔记 - 1. 开发环境以及数据库一瞥

    XUL(XML User Interface Language)是Firefox插件开发的核心技术,用于构建用户界面。这篇学习笔记将带你走进Firefox插件(XUL)开发的世界,并对开发环境的搭建以及数据库的初步使用进行介绍。 首先,要开始Firefox...

    xul文档具体标签说明和例子

    XUL(XML User Interface Language)是一种基于XML的语言,主要用于构建跨平台的图形用户界面,尤其在Mozilla Firefox等浏览器的扩展开发中广泛应用。XUL文档的结构和HTML类似,但提供了更丰富的组件和定制性。以下...

    Lux XUL-开源

    XUL的一种方言,实现了Mozilla XUL的《第四稿》的大部分内容。 XML用户界面语言(XUL)是一种用于轻松创建GUI应用程序的方法。 Lux XUL通过Jython 2.1支持Python脚本。

    xul学习小程序

    XUL(XML User Interface Language)是一种标记语言,用于构建跨平台的用户界面,尤其是Mozilla Firefox浏览器和Thunderbird邮件客户端等应用程序。"Xul学习小程序"显然是一款基于XUL技术开发的音乐播放器,旨在帮助...

Global site tag (gtag.js) - Google Analytics