Tag: javafx

TextArea的JavaFX CSS样式不起作用

我正在编写一个简单的JavaFX应用程序,但我无法使用一些CSS样式。 问题是我的TextArea的-fx-background-color属性。 这是相关的CSS: .text-area { -fx-font-family: Consolas; -fx-highlight-fill: #00ff00; -fx-highlight-text-fill: #000000; -fx-text-fill: #00ff00; -fx-background-color: #000000; } 所有字段都按预期执行,但-fx-background-color除外,它显然什么都不做。 我仍然有默认的白色背景。 正如您在图片中看到的,下面的TextField具有相同的CSS,但确实应用了预期的背景颜色。 我的问题的图片 有什么线索吗?

有没有办法把焦点放在javafx上?

我知道你可以通过执行node.requestFocus();将焦点放在javafx中的节点上。 但有没有办法从javafx中的节点中取走焦点或防止对焦于对象?

使用Java中的网络摄像头捕获video

我试图从java应用程序捕获video截图。 我已经下载了sarxos / webcam-capture库。 我已将可执行jar添加到我的项目中。 这有点乱。 我想从我创建的简单javafx接口捕获video。 问题是在安装了lib和slf4后,它还需要安装xuggle。 我在路径中添加了xuggle,我的代码如下: File file = new File(“output.ts”); IMediaWriter writer = ToolFactory.makeWriter(file.getName()); Dimension size = WebcamResolution.QVGA.getSize(); writer.addVideoStream(0, 0, ICodec.ID.CODEC_ID_H264, size.width, size.height); Webcam webcam = Webcam.getDefault(); webcam.setViewSize(size); webcam.open(true); long start = System.currentTimeMillis(); for (int i = 0; i < 50; i++) { System.out.println("Capture frame " + i); BufferedImage image = […]

JavaFX LineChart – 由于Axis的类型而导致ClassCastException

如何从FXML文件中指定图表的轴类型? 看起来默认类型是 。 如果我将我的可注入字段声明为LineChart lineChart ,并且我使用(Number, Number )创建数据系列,则程序将抛出ClassCastException 。 必须使用FXML文件。 最糟糕的情况是我手动创建了我的图表。 我最好的猜测是这是一个错误。 import java.io.IOException; import java.net.URL; import java.util.ResourceBundle; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.scene.chart.LineChart; import javafx.scene.chart.XYChart; import javafx.scene.layout.AnchorPane; /** * * @author ggrec * */ public class TestChart implements Initializable { // ====================== 2. Instance Fields ============================= @FXML private LineChart testChart; private AnchorPane […]

使用JavaFx属性设置只读

我正在我的一个类中使用JavaFx ObjectProperty。 我正在使用它来绑定绑定function。 问题是我希望人们能够绑定它,但不能改变它的价值。 我不能想到一种种姓certificate的方法(人们不会有任何方式从外面改变它),但必须有一些方法来做到这一点。

如何在JavaFX应用程序中获取主阶段?

是否可以在正在运行的JavaFX应用程序中获取对主Stage的引用? 这个问题的上下文是我想编写一个从另一种语言(Prolog)操作JavaFX接口的库。 为此,我的库需要访问主舞台。 目标是JavaFX应用程序的程序员不必在start方法中显式存储对Stage对象的引用,因此对于用户界面设计者应该是透明的(如果需要更多细节,这是一个相关的问题 ) 。 这个问题的一部分是获取对原始JavaFX应用程序的主要Stage对象的引用,所以我想知道某个地方的静态方法是否可以让我访问它。

仅在Swing应用程序中使用JavaFX触摸事件

有没有办法在swing应用程序中使用JavaFX触摸事件? 目前我正在使用JFXPanel捕获JavaFX事件,但是当我尝试获取事件时,我不会接收任何触摸事件而只接收鼠标事件。 这是在Windows 8.1 Dell触摸屏上测试的。 更新:下面的代码是我用来获取事件的框架。 此JFXPanel用作Swing应用程序中的glasspane。 这为glasspane创建了一个JFXPanel,它能够捕获所有事件。 public class MouseEventRouter extends JFXPanel { … public ZeusMouseEventRouter(JMenuBar menuBar, Container contentPane) { … this._contentPane = contentPane; this._contentPane.add(_JFXpanel); this._contentPane.setVisible(true); init(); } private void init() { pane = new VBox(); pane.setAlignment(Pos.CENTER); Platform.runLater(this::createScene); } private void createScene() { Scene scene = new Scene(pane); … scene.setOnTouchPressed(new EventHandler() { @Override public […]

我们应该在JavaFX自定义控件中使用FXML吗?

这似乎有点问,我认为使用FXML编写我们的自定义组件显然是正确的方法。 但正如我们从ControlsFX,JFXextras甚至“掌握JavaFX8控件”这本书中看到的那样,不要在自定义控件中使用或提及使用FXML。 尽管如此,官方文档说要继续这条路线,并通过FXML创建JavaFX控件。 什么是更正确的方式和原因?

Javafx选择多行

我试图在javafx中选择多行,但我不想使用键盘(SHIFT)。应该在我点击它之后选择它,当我点击另一列时它也应该被选中。 我在这里检查一些其他的答案,但我找不到简短而方便的东西。有更短的方法吗? @FXML private static Logger logger = Logger.getLogger(MainFrameControl.class); public TableView boxTable; protected final ObservableList boxData = FXCollections.observableArrayList(); Service service = new ServiceImpl(); private Stage mainStage; public MainFrameControl(Stage mainStage) { FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource(“MainFrame.fxml”)); fxmlLoader.setRoot(this); fxmlLoader.setController(this); this.mainStage = mainStage; Stage stage = new Stage(); try { fxmlLoader.load(); } catch (IOException exception) { throw new […]

Eclipse中无法解析某些JavaFX导入

我正在创建一个小型JavaFX库,并遇到了一些导入问题。 我一直在我的PC和笔记本电脑上进行编程,只需在Dropbox上托管Eclipse Workspace,一切正常。 我在两台机器上安装了e(fx)clipse,并且已经制作了几个月的JavaFX程序而没有任何问题。 现在,我最近在我的笔记本电脑上启动了一个新项目,该项目也运行良好; 然而,当我去我的电脑时,我发现了一堆“导入_____无法解决”的错误。 奇怪的是,大多数javafx类导入正常,似乎javafx.scene.control包中的某些类存在问题。 在我到目前为止的一个类中,我正在导入这些JavaFX类: import javafx.application.Platform; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.ButtonType; import javafx.scene.control.Dialog; import javafx.scene.control.DialogPane; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; import javafx.scene.layout.Priority; import javafx.scene.layout.Region; import javafx.stage.FileChooser; 它们都可以正常工作,除了三个: javafx.scene.control.ButtonType , javafx.scene.control.Dialog和javafx.scene.control.DialogPane 。 我做了很多研究,尝试了以下但没有成功: 卸载并重新安装e(fx)clipse 手动将jfxrt.jar文件添加到项目中 多次清理,重建和刷新项目 从构建路径中删除了JRE并重新添加它 使用New> JavaFX Project重新创建项目并复制代码 似乎没有什么工作,我不明白如何在一台计算机上丢失包中的某些类。 有人有解决方案吗?