问题标签 [seesaw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
clojure - 如何在 Clojure 中对 SeeSaw 面板进行子类化?
我想制作一个具有获取/设置功能的自定义面板(连续 12 个复选框)。我对代理很陌生,跷跷板网格面板已经是代理,所以我如何添加(子类)我自己的构造函数和其他函数?
更具体地说,我想做这样的事情
clojure - 如何使跷跷板列表框对双击做出反应?
好的,所以这可能是一个愚蠢的,但我很茫然,我为此创建了一个 SOF 帐户。这几乎可以满足我的要求:
如果您运行此代码,您将看到一个包含三个条目(a、b、c)的列表框。如果您单击其中任何一个,则会弹出一个警报,其中包含该条目。我想要做的是让列表框以这种方式对双击而不是单击做出反应。我应该怎么做?
对于那些告诉我如何使双击项目的编号出现在弹出窗口中的人(0 代表 a,1 代表 b,2 代表 c)的人,我感到非常荣幸。
clojure - 你如何控制 Seesaw(clojure) 中实体的 Z 顺序?
我有一个带有 xyz 面板的窗口,里面有一堆标签。现在它们中的一些必须重叠,我不知道如何设置 Z 顺序。
clojure - 使用配置!在处理程序中不起作用
我正在编写一个 GUI,并且需要能够用另一个窗格替换border-pane
's部分。:center
问题是,处理程序中的调用config!
没有改变窗格的效果。所有其他几乎相同的调用在其他地方工作。
问题可以概括为:
问题是,当我单击按钮时,这不会做任何事情。我希望config!
替换该:center
部分,但事实并非如此。点击处理程序正在触发,config!
只是似乎没有做任何事情。
config!
即使最后一次调用是相同的,底部的调用仍然有效。
在四处寻找之后,我找到了一个解决方案,但它有点让我错了。如果我将处理程序更改为
有用。我不喜欢这个有几个原因:
我需要知道当前的内容是什么。如果我不知道,我需要做一个查找,这似乎很浪费。
如果我要给它替换孩子,大概它需要搜索父母才能找到孩子。同样,这似乎是不必要的浪费。
如果base-pane
是 a frame
,并且我想用 s 替换它:content
的 s config!
,它会按我的预期工作。
为什么config!
在这里不起作用?有必要使用replace!
吗?
更新:
事实证明该按钮有效果,但它只是在调整窗口大小后出于某种原因才进行更改。
当它添加新面板时,它会将其覆盖在前一个面板上,而不是替换它。看起来它需要重新粉刷,所以我尝试运行
(sc/repaint! (sc/select base-pane [:*]))
,但没有任何区别。此时我意识到我可能只需要使用
sc/replace!
,但随后遇到了如何获取前一个孩子的问题。(config base-pane :center)
不起作用。我想我将不得不给每个孩子上课,然后使用sc/select
.
rotation - 如何在 TumbleSeed 中编写桥接背后的逻辑?统一
我试图像这样对桥进行编码。我使用了 RotateAround 并设置了 2 个点,即跷跷板/桥的左右点,但是当我向左旋转和向右旋转时,桥的 x 轴一点一点地跑掉,最终消失了从屏幕上。谁能给我这背后的逻辑?
clojure - 在 REPL 中刷新后如何重用同一个窗口?
在一个名为 的源文件gui.clj
中,我定义了一个框架 ,fr
它保存了我的应用程序的窗口,如下所示:
以及一个在数据更改时run
设置fr
并使其重新绘制的函数,类似于这样(以scribble.clj为模型:
由于我在 REPL 中搞乱,我经常修改一个源文件,然后调用c.t.n.repl/refresh
. 当我run
再次运行时,它会弹出一个新窗口,将旧窗口留在屏幕上。即使在刷新后,如何让我的(新更新的)代码在同一个窗口上运行?
clojure - 选择返回的元素的顺序是否有任何保证?
我有一个嵌套在垂直面板内的九个文本框,我想从中获取文本并使用它们。为方便起见,我只是select
用来按类抓取它们,然后将它们应用到记录的构造函数中。基本上是这样的:
这似乎按我的预期工作,但我无法找到任何官方定义select
返回其元素的顺序的内容。
它似乎是基于元素被赋予其父元素的顺序。这个对吗?
clojure - Clojure/seeseaw.core/tablelazy-seq 检索失败
我的“(list-projects)”方法从 SQLITE 数据库中查询出一张地图。
当我构造 seesaw.core/frame/mig-panel/table (JFrame/JPanel/JTable) 时,我想使用 :row 属性使用这些结果填充 seesaw.core/table (Java JTable)。
如果我插入地图 {:id 1, :name "MyTestProj", :owner "mbc", :date "2017-12-19 13:12:45"} {:id........}{ }{}{}{} 直接,它工作正常,表中的行已正确填充,因此 (doall (apply prn (pm.models.db/list-projects))) 的输出格式是我需要的。
如何在 seesaw.core/mig-panel 的上下文中检索(我认为)lazy-seq?谢谢莫蒂默
clojure - 如何使对话框功能起作用
我想打开一个对话框,并在对话框返回正常后处理数据。问题是提交对话框后没有调用 :success-fn 。这与按钮的侦听器有关。如果在没有监听器的情况下调用 connectDialog,则调用 :success-fn 的函数。
代码:
eclipse - 按钮单击跷跷板(Clojure)没有得到新的变量值
跷跷板出现问题,我试图让用户使用组合框选择日期,然后单击按钮调用该函数:
但是,这可行,该操作在程序最初运行时加载,因此每当单击按钮时,它总是包含选择组合框的第一个值。因此,当我单击按钮时,它不会在(选择年份-cmb)中查找新值,它只会保留它已经获得的值,默认设置为“”。
知道我是如何做到的,以便每次单击按钮调用时都会在组合框中获得新值吗?