【发布时间】:2014-12-05 19:13:16
【问题描述】:
我非常接近让下面的程序工作。我正在使用 LightTable。我在最后包含了 java 异常。我将 nil 传递给 JDatePanelImpl 构造函数,这显然是错误的,但我不确定如何构建此属性:
//This is the java definition
public JDatePanelImpl(DateModel<?> model, Properties i18nStrings)
{
...
}
这是project.clj
(defproject jdatepickertest "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies
[
[org.clojure/clojure "1.6.0"]
[org.jdatepicker/jdatepicker "1.3.4"]
]
)
代码如下
(ns jdatepickertest.core)
(import
'(java.util Enumeration Locale Properties ResourceBundle)
'(org.jdatepicker JDatePicker JDatePanel)
'(org.jdatepicker.i18n)
'(org.jdatepicker.impl JDatePanelImpl JDatePickerImpl UtilDateModel UtilCalendarModel)
)
(Locale. "pt")
(defn now [] (new java.util.Date))
(defn CreateUtilDateModel[yyyy m d]
(doto (UtilDateModel.) (.setDate yyyy m d) (.setSelected true)))
(defn CreateJDatePanelImpl[model properties](JDatePanelImpl. model properties))
(defn CreateJDatePickerImpl[datePanel properties](JDatePickerImpl. datePanel properties))
(defn SetModelDefaultDate[model yyyy m d](. model setDate yyyy m d))
(defn GetDefaultStrings[]
(doto(Properties.)
(.put "text.today", "Today")
(.put "text.nextMonth", "Next month")
(.put "text.previousMonth", "Previous month")
(.put "text.nextYear", "Next year")
(.put "text.previousYear", "Previous year")
(.put "text.clear", "Clear")
)
)
(defn PutitAllTogether[]
(let [model (CreateUtilDateModel 2014 12 5)
prop (GetDefaultStrings)
jdpanel (CreateJDatePanelImpl model prop)
jdpicker (CreateJDatePickerImpl jdpanel nil)]
)
)
;(CreateUtilDateModel 2014 12 5)
(defn PutAlittleTogether[]
(let[model (CreateUtilDateModel 2014 12 5)]))
;(PutAlittleTogether)
(PutitAllTogether)
【问题讨论】: