问题标签 [scalafx]

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.

0 投票
1 回答
93 浏览

scala - 如何将视频轨道添加到 Scala GUI?

我想在 GUI 中显示视频,我正在使用 ScalaFX API 进行 UI 编程,我碰巧注意到 API 中有一个名为 VideoTrack 的类。那么该类是否包含所有必要的功能,我应该如何实现呢?提前致谢。

0 投票
1 回答
437 浏览

scala - ScalaFX 如何创建一种方法来对 var (ObjectProperty) 中的更改做出反应?

我正在制作一个带有 ScalaFX GUI 和 Akka 远程网络的多人游戏客户端。当我的客户端收到游戏数据时,它会将其存储在 Model.gameData 中。我需要我的 GUI 来响应这个变量的变化。

我使用 gameData 在我的模型对象中创建 data:ObjectProperty:

drawGrid 和 drawPlayer 是我用来更新 GUI 的方法,位于 CleintGUI 对象中。我厌倦了使用 addListener 和 onChange,它们可以编译,但我放置在其中的方法从未被调用。

我错过了什么?我是否在 ClientGUI 中错误地声明了 data:ObectProperty 或方法?

当我通过在 TextField 中提交字符串来创建事件来手动调用它们时,drawGrid 和 drawPlayer 都可以工作。当我收到 GameData 时,我还尝试在我的 actor 类中直接调用 drawGrid 和 drawPlayer 表单,但我收到一个错误“不是 FX 线程”。

编辑:我通过改变控制属性来更新 GUI。但是,理想情况下,我想通过使用条件表达式来定义控件属性:

但这不起作用,因为我无法找到定义 BooleanProperty 的方法,以便 when(data) 根据布尔 Model.gameData.isDefined 更改值

0 投票
2 回答
2034 浏览

scalafx - 开始使用 scalafx?

我是一个普通的 Scala 用户;我使用基于 Eclipse 的 Scala IDE,而且我从来不需要了解 maven 或 sbt。我想学习scalafx,但所有的指令都是针对maven的。在 Scala IDE 中,Scala 无法识别我的导入。有人可以告诉我如何让 IDE 识别 jar 文件吗?

我有

  • Scala IDE 4.2.0-vfinal-2015-09-25T11:10:29Z-Typesafe
  • scalafx_2.12.0-M3-8.0.60-R9.jar
  • JavaSE 1.8
  • Scala 库容器 2.11.7

我尝试将 scalafx jar 添加到我的 Java 构建路径(Project->Properties 没有 Scala 构建路径),但没有成功,所以我不知道还能尝试什么。

预先感谢!

// ----- 没有答案,评论太长,抱歉 -----

我很欣赏这样一个事实,如果我是一个认真的 Scala 开发人员,我应该学习 Maven 和 SBT。但我不是。

在过去的几年里,我教了一门“编程范式”课程。这学期我教过 Prolog、Clojure、Haskell、Elm,以及一点 Forth 和 REBOL。和过去一样,我以 Scala 结束,因为我认为它汇集了其他语言的许多想法,并且将成为 Java 的当之无愧的继承者。根据我的阅读,scalafx 看起来很容易使用,如果最后一个分配是使用 scalafx 的 GUI 分配,那就太好了。

对于任何编程语言,外部因素——IDE、make 等价物、测试框架、支持组等——至少与语言本身一样重要。考虑到课程中已经包含的材料数量,我明确不涵盖任何语言的任何这些外部因素。

由于安装 scalafx 显然不像将 jar 文件添加到 Eclipse(我的学生已经使用)那么简单,在我的情况下,学习 SBT 并花费额外的课堂时间来教授它根本不值得。

也许明年 scalafx——或者,我想,Scala IDE——会成熟到可以在我的课程中使用它的程度。

感谢大家澄清情况。

0 投票
1 回答
456 浏览

javafx - ScalaFX:如何拉伸 ScrollPane 以适应其父级

我使用边框窗格作为布局。底部的孩子有一个 ScrollPane,它应该使用 Border Pane 的完整宽度(拉伸) - 无论其内容如何。

它在运行时看起来如下:

在运行时

我有没有机会在不手动设置 ScrollPane 的宽度的情况下实现这一点?

0 投票
1 回答
810 浏览

scala - 如何在 Scala 中创建可更新的 tableview 单元格

我创建了一个表格视图,其中包含它们的组件,分配了 cellValueFactory 并将属性设置editabletrue. 在我的代码中,我有以下内容:

有了它,我设法将其转换为文本字段并允许输入。但是,在完成输入后,文本又回到了编辑前的前一个文本。我应该包含什么类型/代码以确保文本正确更新?我试过在谷歌上搜索,但到目前为止还没有任何解释。

0 投票
1 回答
201 浏览

scala - TextArea Not growing when expanding scene in ScalaFx

I have been trying to convert a school project I originally written in Java with Swing to Scala with ScalaFX. The GUI is basically a top bar with Buttons and a search input, while the bottom part of the bar is a TextArea that will display the output from the buttons. This is what the app looks like at startup. The problem is that when I expand the stage with my mouse, the size of the TextArea remains static. Here is an example of that. I tried looking up specific help for ScalaFX but it feels like the documentation out there is rather thin, so I have had to focus my research for JavaFX. I found a post on here about using HBox to have my textbox expand as I stretch the stage with my mouse, but it doesn't appear to be working. Is there a way to have the TextArea scale in size when the stage is stretched out with the mouse? I have included the code below of the GUI with the added HBox below.

0 投票
0 回答
381 浏览

javafx - TableTreeView(JavaFx 8):无法在单元格中设置标签的字体颜色

我的视图中有一个 TreeTableView 控件,它有一列,由两个标签组成。也就是说,在运行时,通过显示两个标签来呈现单元格:

我想要实现的是动作标签以不同的样式呈现。因此我通过 actionLabel.styleClass.add("label-hotkey") 设置它。css 样式一般被识别:

例如,在渲染过程中会考虑 -fx-font-size。问题是 -fx-text-fill 被忽略,因此标签的颜色不是黄色。

那么,我在这里做错了什么?

编辑:即使 setTextFill(Color.BLUE) 也没有效果(参见编码中的注释部分)

0 投票
0 回答
465 浏览

java - ScalaFX 和 CSS 文件(使用 Java 8)

我正在将 ScalaFX 与 Java 8 一起使用,并且在将 ScalaFX 提供给我们的 CSS 文件时遇到了困难。

到目前为止,我所阅读的所有内容都表明要使用以下内容:

如果我不费心尝试添加样式表,应用程序就会立即启动。但是,如果我确实尝试添加 css 文件,这就是我的控制台告诉我的:

当然,应用程序没有启动。

到目前为止,我所阅读的所有内容都使它看起来像是 Java 8 的问题。我不知道从哪里开始。

任何帮助将不胜感激。

谢谢,

0 投票
1 回答
463 浏览

scala - ScalaFX 和 FXML 示例似乎不起作用

我在这里按照这个例子

但由于某种原因new Scene(root)不能作为构造函数。

Root 意味着 javafx.scene 和 stage.scene 是 scalafx.scene.Scene 所以让 root javafx.Parent 不起作用。

自从做了这些例子后,scalafx 有什么变化吗?

0 投票
0 回答
55 浏览

scala - 在活动期间检查活动

我想要实现的是以下几点:

当按下鼠标左键并移动鼠标时(仍然按下鼠标按钮!)我想调用某个方法。基本上,我希望能够在画布上移动,就像在 Blender 中一样,当您按下鼠标按钮并移动鼠标时,您可以在其中导航。

现在我知道如何检查某个事件,如下所示:

但是现在如何进行内部检查?

像这样的东西:

显然不会起作用,因为当第一次按下按钮时,会注册另一个处理程序,并且现在/从这里每当我移动鼠标时都会着火,这不是我想要的。

当然我搜索过,但如果没有讨厌的黑客,我找不到任何合适的东西。