gpt4 book ai didi

swing - Swing 操作向量的扩展

转载 作者:太空宇宙 更新时间:2023-11-03 18:42:42 30 4
gpt4 key购买 nike

我有一个 JPanel 和一个 JButton 向量,我想将每个按钮添加到面板。

我遇到的问题是我有一个代表按钮向量的变量 btns,但宏函数只是将它视为一个符号,而不是一个向量。有没有办法以某种方式扩展它?

代码如下:

(defmacro add_all [panel btns]
;; help?
)

(let [x 10, y 10
btns get_buttons] ;; just a vector of JButton objects
(doto (JPanel.)
(.setLayout (GridLayout. x y))
(add-all btns)))

我希望将其扩展为:

(doto (JPanel.)
(.setLayout (GridLayout. x y))
(.add (btns 0))
(.add (btns 1))
;; etc
(.add (btns 99)))

最佳答案

不需要宏(事实上,上述问题无法用宏解决)。只需编写一个在面板和一系列按钮上运行的函数:

(defn add-all [panel buttons]
(doseq [button buttons]
(.add panel button)))

关于swing - Swing 操作向量的扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200045/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com