-
Notifications
You must be signed in to change notification settings - Fork 149
/
icon.clj
27 lines (22 loc) · 949 Bytes
/
icon.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
; Copyright (c) Dave Ray, 2011. All rights reserved.
; The use and distribution terms for this software are covered by the
; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
; which can be found in the file epl-v10.html at the root of this
; distribution.
; By using this software in any fashion, you are agreeing to be bound by
; the terms of this license.
; You must not remove this notice, or any other, from this software.
(ns ^{:doc "Functions for loading and creating icons."
:author "Dave Ray"}
seesaw.icon
(:use [seesaw util])
(:import [javax.swing ImageIcon]))
;*******************************************************************************
; Icons
(defn icon [p]
(cond
(nil? p) nil
(instance? javax.swing.Icon p) p
(instance? java.awt.Image p) (ImageIcon. p)
(instance? java.net.URL p) (ImageIcon. p)
:else (when-let [url (to-url p)] (ImageIcon. url))))