outlook 左侧的设计挺好,不确定这种设计是不是从outlook开始的,想到这样的设计的时候,很自然的想到outlook,姑且叫它outlook bar吧!
在学习Clojure和Seesaw,就写了一个,放在这里,有谁需要,随便拿去:
(ns com.gui (:use [seesaw core])) (defn outlook-bar "Create a simple outlook bar. args: coll is a vector like this: [{:index 0, :btn-text 'first-button', :content (button :text 'this is first content.')}, {:index 1, :btn-text 'second-button', :content (button :text 'this is second content.')}] return a outlook bar panel " ([coll] (outlook-bar (border-panel) coll (-> coll first :index ))) ([bar coll index] (let [top (take (inc index) coll), center (nth coll index), bottom (drop (inc index) coll), composer (fn [item] (action :name (:btn-text item), :handler (fn [e] (outlook-bar bar coll (:index item)))))] (doto bar (.removeAll)) (config! bar :north (grid-panel :rows (count top), :columns 1, :items (map composer top)), :center (scrollable (:content center)), :south (grid-panel :rows (count bottom), :columns 1, :items (map composer bottom))) (doto bar (.revalidate) (.repaint))))) ; ==================== test outlook-bar ======================= ;(def nav ; [{:index 0 :btn-text "first", :content (text "this is first content.")}, ; {:index 1 :btn-text "second", :content (label :text "this is second content.")}, ; {:index 2 :btn-text "third", :content (button :text "this is third content.")} ; ]) ; ;(defn olb [] ; (-> (frame :title "Hello world!", :content (outlook-bar nav), ; :on-close :dispose ) ; pack! ; show!)) ; ;(olb) ; ==================== test outlook-bar =======================
相关推荐
Selmer, 在Clojure中,一个快速Django 启发的模板系统 Selmer 一个快速的 Django 插件,为Clojure激发模板系统。安装命令行 Leiningen 备忘文档备注文档用法 跳转到筛选器内置过滤器add count count? not-empty f
如何做一个? 该GUI是使用Netbeans IDE及其内置的Window Builder制作的。 脚步: 使用Leiningen或Boot创建Clojure项目,例如在Leiningen : lein new app my-gui-project 编辑您的project.clj ,将[seesaw "LATEST"]...
在上述代码中,`clojure.java.jdk`是一个Clojure库,提供了对Java JDK的便捷访问。`class-for-name`函数用于加载并返回指定类的Class对象,然后我们可以通过`.sayHello`调用实例的方法。 此外,Clojure还可以处理...
Python-Nightlight 是一个独特的项目,它将Clojure编程语言的交互式环境嵌入到Python应用程序中,为开发者提供了一个集成的开发体验。这个编辑器设计的目标是促进Clojure代码的编写、测试和调试,特别是在Python环境...
根据提供的文件内容,我们可以提取出以下关于Clojure语言的知识点: Clojure是一种编程语言,它...希望这本书能够为读者打开Clojure的门,就像它为作者所做的那样,并且展示Clojure作为一个有趣、表达性和成熟的语言。
Python-Clojurecademy是一个独特的在线学习平台,专注于教授Clojure编程语言。它借鉴了Codecademy的成功模式,为用户提供了一个交互式的环境,使学习者能够实时实践Clojure代码,从而增强他们的编程技能。Clojure是...
4. **Clojure 1.4.0 Alpha2**: "clojure-clojure-clojure-1.4.0-alpha2-12-gec59eba.zip"是Clojure 1.4.0的一个早期预览版本。这个版本可能包含了1.3.0之后的进一步改进和新功能,对于关注Clojure演进的开发者来说,...
标题中的"Python-利用Clojure实现的一个可拖放的看板示例"表明这是一个结合了Python和Clojure技术的项目,旨在创建一个可交互式的看板应用,支持用户通过拖放操作来管理任务或信息。看板在项目管理和敏捷开发中广泛...
Clojure的设计目标是提供一个高效、并发、可移植的环境,适合解决现代软件开发中的复杂问题。在这个“Clojure编程乐趣”中,我们将深入探讨Clojure的核心概念和特性。 首先,Clojure强调函数式编程,这意味着程序被...
在Eclipse中使用Clojure开发,你需要安装Leiningen,这是一个Clojure项目管理工具,它可以帮助你创建、构建和管理Clojure项目。Leiningen能够生成项目的骨架结构,包含必需的依赖和配置文件,使得开发者可以快速开始...
《Clojure电子书》集合包含了三本关于Clojure编程的重要书籍和一个Leiningen的Windows安装程序,这对于学习和深入理解Clojure语言至关重要。Clojure是一种基于Lisp的函数式编程语言,它运行在Java虚拟机(JVM)上,...
Clojure还有一个特色是软件事务存储(Software Transactional Memory,STM),其支持用事务代替锁和互斥器来更新共享内存。STM还是一个有争议的技术,还需要更好的证明自己,一个简单的办法就是访问一个JVM上的实现...
### Clojure入门教程知识...- 对于希望深入了解函数式编程或在JVM上寻找高效编程解决方案的开发者而言,Clojure是一个值得探索的选择。通过实践和社区的支持,学习者可以快速掌握Clojure的核心概念并应用于实际项目中。
《Programming Clojure》是一本深入探讨Clojure编程语言的书籍,该书由Stuart Halloway编写,出版于2009年3月,由Pragmatic Bookshelf出版社发行。本书共200页,主要介绍了Clojure作为一种现代编程语言的独特魅力...
根据https://github.com/clojure-cookbook/clojure-cookbook的描述,将cookbook的代码转换为了html文档,供方便下载。
Clojure 1.6 是一个基于 Lisp 语系的现代函数式编程语言,它运行在Java虚拟机(JVM)上。Lisp是一种历史悠久且影响力深远的编程范式,以其特有的括号语法和强大的宏系统著称。Clojure的设计目标是提供一种与Java平台...
Typed Clojure 保留了 Clojure 的优势,是 Clojure 的可选类型系统,也可以说是 Clojure 的一个库,改善了大量的静态类型安全检测。主要特性:从 Java 中保护你的 Clojure 程序,进行安全的互操作,正确的使用外部 ...