Tag: javafx

Javafx Listview添加和编辑元素

我想直接添加和编辑一个元素到listview: /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package javafx_test; import java.util.Observable; import javafx.application.Application; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; […]

如何将侦听器添加到使用CheckBoxListCell的列表视图中的复选框

我有一个listview,它使用CheckBoxListCell显示一个列表,其中包含项目旁边的复选框。 如何向此复选框添加侦听器以了解项目何时被选中或未被选中?

JavaFX布局等同于GridLayout

我习惯使用Swing创建GUI,但对于最近的项目,我选择切换到JavaFX。 我在使用GridLayout重建某个布局时遇到了一些麻烦。 我希望以下行为:2列与其父级的内容按比例缩放。 使用Swing,我会使用GridLayout(1行,2列)制作JPanel,并添加2个带有BorderLayout的JPanel,将实际内容添加到具有居中约束的面板。 然后我可以将第一个面板添加到任何具有与框架一起拉伸的布局的容器中,并且一切都会很好。 我似乎无法以简单的方式在JavaFX中重新创建此行为。 我可以想办法使用绑定和组合几个窗格来实现它,但我希望有一个布局自动执行此操作。 我已经尝试过使用TilePane,HBox,GridPane,AnchorPane,SplitPane甚至BorderPane,但它们似乎都没有按我的意愿行事。 是否有推荐的方法来实现这一目标? 我更不希望将Swing嵌入到应用程序中。 基本上我想要的是能够将内容分成两列,使用Stage / Scene(JFrame)自动拉伸。

JavaFX中的Node.setDisable()vs setDisabled()

从javafx.scene.Nodeinheritance时,有两种方法可用于调用:(我正在展示当前的8u66 Oracle实现) setDisable(boolean) public final void setDisable(boolean value) { disableProperty().set(value); } setDisabled(boolean) protected final void setDisabled(boolean value) { disabledPropertyImpl().set(value); } 从javafx.scene.Nodeinheritance时我应该调用哪一个?

JavaFX初始化方法中的NullPointerException

我有控制器,我尝试从电子邮件服务器获取INBOX文件夹。 随着下载一切都很好。 我可以把这些数据(电子邮件主题,从,日期)放到TableView中但是……只有当我在等待负责在TableView中设置这个数据的线程时。 码: // The table and columns @FXML TableView itemTbl; @FXML TableColumn itemNameCol; @FXML TableColumn itemQtyCol; @FXML TableColumn itemTitleCol; // The table’s data static ObservableList data; public void dataSet(){ // Set up the table data itemNameCol.setCellValueFactory( new PropertyValueFactory(“name”) ); itemQtyCol.setCellValueFactory( new PropertyValueFactory(“qty”) ); itemTitleCol.setCellValueFactory( new PropertyValueFactory(“title”) ); data = FXCollections.observableArrayList(); itemTbl.setItems(data); } public […]

javafx webview / webengine上的自定义上下文菜单

如何在WebEngine javafx中为文档的整个条目设置自定义上下文菜单? 像这样的东西 +————+ |Reload | |Save page | |Hide Images | +————+ 我喜欢调用并显示整个文档条目的上下文弹出窗口(每个节点都相同)。 谢谢。

模仿CTRL +使用Javafx在ListView中单击多个选择

我正在尝试找到在ListView中选择多个项目的不同方法。 GUI将在触摸屏显示器上运行,因此我将无法按CTRL + Click。 通过研究各种过去的post,我已经能够通过将所有选定的项保留在数组中然后循环遍历它以获得最终选择来实现多选。 我的代码唯一的问题是,与CTRL +点击相比,选择顺利完成,每次选择新项目时,我的代码会导致类型闪烁。 所以基本上listView清除所有选择,然后选择正确的选择。 有没有办法让这种转变顺利进行? 是否更容易模仿触摸以获得CTRL +点击效果? selectedList = new int[totalTypes];//total number of item properties for(int x=0; x<selectedList.length;x++){//0 = not selected, 1 = selected selectedList[x]=0; } testView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); testView.setOnMouseClicked(new EventHandler(){ @Override public void handle(Event event){ if(selectedList[testView.getSelectionModel().getSelectedIndex()]==0){ selectedList[testView.getSelectionModel().getSelectedIndex()]=1; } else{ selectedList[testView.getSelectionModel().getSelectedIndex()]=0; } for(int x=0; x<selectedList.length;x++){ if(selectedList[x]==1){ testView.getSelectionModel().select(x); } else{ testView.getSelectionModel().clearSelection(x);; } } } […]

JavaFX MediaPlayer – 音乐在10秒后停止

这是代码,就像标题说音乐在10秒后停止,我在vlc或其他程序中正常播放文件,它持续超过5分钟。 public void music(){ String bip = “src/data/fjordmusic.mp3”; Media hit = new Media(Paths.get(bip).toUri().toString()); MediaPlayer mediaPlayer = new MediaPlayer(hit); mediaPlayer.play(); }

更改JavaFX WebView的默认字体

我使用嵌入在JPanel中的Java FX2.2 WebView来显示网页。 这种方法效果很好,除了我不喜欢的默认字体。 它看起来非常大胆/圆润/消除锯齿/模糊。 左侧是我的Chrome浏览器中的文本,位于FX浏览器的右侧。 它似乎使用“System Regular”字体作为默认字体,Font.getDefault()返回此字体。 我尝试用reflection更改它但浏览器仍然使用相同的字体。 我还查看了WebView.setFontScale()和WebView.setFontSmoothingType() ,第一个只改变了大小,而后者只有第二个字体平滑类型甚至比默认值更差。 我看了Safari,就像FX WebView一样,基于WebKit,这个浏览器可以选择更改默认字体(我想大多数浏览器都有这个选项)。 有没有人知道如何更改Java FX WebView的默认字体? 编辑:在这里提出function请求: https : //bugs.openjdk.java.net/browse/JDK-8090968

为什么JavaFX API不包含在Java 8 J2SE中?

有谁知道为什么JavaFX 8仍然不是即将推出的Java 8中的日常J2SE API? 显示所有Java组件的技术图清楚地从J2SE堆栈中排除了JavaFX。 我想在JDK javadocs中并排看到JavaFX和Swing API ..并且想知道为什么Oracle不能/不能给我们这个? 顺便说一下,关于JavaFX不同状态的主题(与J2SE中包含的其他标准相比),任何人都可以解释为什么JavaFX的作者觉得必须重新发明创建AWT / Swing不兼容概念的轮子,如FX Fonts,FX颜色等?