关于javafx中使用task的信息

今天给各位分享javafx中使用task的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、JavaFx监听serversocket并根据输入更新UI遇到了问题2、javafx中怎么手动的触发事件,如树节点的更新事件3、javafx怎么用TextArea做到像console窗口那样的效果4、如何将JavaFX程序打包成exe5、javafx中怎么通过开关按钮实现一个线程的开关?

JavaFx监听serversocket并根据输入更新UI遇到了问题

import java.util.Timer;

import java.util.TimerTask;

public class MainController {

/**

* 自动更新的下拉框,触发的事件

* @param event

* @throws IOException

*/

@FXML protected void handleautoRunUpdateCombox(ActionEvent event) throws IOException{

Timer timer = new Timer();

timer.schedule(new TimerTask() {

public void run() {

Platform.runLater(new Runnable() {

@Override

public void run() {

roleOneEvent();  //更新ui代码

}

});

}

}, 1000, 5000); //定时器的延迟时间及间隔时间

}

原理就是创建一个Timer,并创建一个任务TimerTask,在任务的run方法里面执行:

Platform.runLater(new Runnable() {

@Override

public void run() {

roleOneEvent();  //更新ui代码

}

});

这样子就可以达到更新UI界面上控件的显示内容了,显示如下:

关于javafx中使用task的信息

javafx中怎么手动的触发事件,如树节点的更新事件

实现方式:

可以实现采用手动触发事件的方式。

TreeItemAbstractTreeNode currentTreeItem = ****;//当前发生修改的树节点

currentTreeItem.getValue().setNodeText(“abc”);

//自动触发修改的事件,使树节点的显示信息能同步修改

Event.fireEvent(currentTreeItem, new TreeItem.TreeModificationEventAbstractTreeNode(TreeItem.valueChangedEvent(), currentTreeItem, currentTreeItem.getValue()));

构建树节点的显示时自定义渲染方式:

TreeViewAbstractTreeNode leftNodeTree = new TreeViewAbstractTreeNode();

….

leftNodeTree.setCellFactory(new CallbackTreeViewAbstractTreeNode, TreeCellAbstractTreeNode() {

@Override

public TreeCellAbstractTreeNode call(TreeViewAbstractTreeNode param) {

return new TreeCellImpl();

}

});

public class TreeCellImpl extends TreeCellAbstractTreeNode {

@Override

public void updateItem(AbstractTreeNode item, boolean empty) {

super.updateItem(item, empty);

if (empty) {

setText(null);

setGraphic(null);

} else {

setText(item.getNodeText());

setGraphic(item.getGraphic());

if (item.getNodeType().equals(NodeType.TREE_CONFIG_NODE)) {

setContextMenu(new TreeConfigContextMenu(this.getTreeView(), this.getTreeItem(), item));

} else if (item.getNodeType().equals(NodeType.TREE_DETAIL_CONFIG_NODE)) {

setContextMenu(new TreeDetailConfigContextMenu(this.getTreeView(), this.getTreeItem(), item));

} else if (item.getNodeType().equals(NodeType.SHAREDATA_FIELDS_NODE)) {

// setContextMenu(new TreeConfigContextMenu(item));

}

}

}

}

class AbstractTreeNode {

private String nodeId;

private String nodeText;

public String getNodeId() {

return nodeId;

}

public void setNodeId(String nodeId) {

this.nodeId = nodeId;

}

public String getNodeText() {

return nodeText;

}

public void setNodeText(String nodeText) {

this.nodeText = nodeText;

}

javafx怎么用TextArea做到像console窗口那样的效果

使用JTextArea,有方法setOpaque 参数: isOpaque – 如果此组件应该是不透明的,则为 true

如何将JavaFX程序打包成exe

一、使用javafxpackager

javafxpackager是javafx提供的打包工具,好像从jdk1.7开始就包含这个工具了,它在 jdk 的 bin 目录下。

第一步:新建两个文件夹

一个放入你想打包的jar,另一个用来存放打包生成的exe,注意所有目录、jar、exe名字都不要带空格。

第二步:开始打包

在 jdk 的 bin 目录下运行cmd,输入javafxpackager,可以看到可用的参数,如下图

我们使用deploy命令,大部分参数一般都是用不到的

我们可以使用下面的参数简单打包

javafxpackager -deploy -native image -appclass test.Test -srcdir E://test1 -outdir E://test2 -outfile test -name testName

要按实际情况修改的,-appclass是包含main函数的类,要写出包名。

成功以后出现这样的提示

在test2目录下会出现这些文件,bundles文件夹里就是已经打包好的exe文件了

javafx中怎么通过开关按钮实现一个线程的开关?

1.start()方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码:

通过调用Thread类的start()方法来启动一个线程,

这时此线程是处于就绪状态,

并没有运行。

然后通过此Thread类调用方法run()来完成其运行操作的,

这里方法run()称为线程体,

它包含了要执行的这个线程的内容,

Run方法运行结束,

此线程终止,

而CPU再运行其它线程,

2.run()方法当作普通方法的方式调用,程序还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码:

而如果直接用Run方法,

这只是调用一个方法而已,

程序中依然只有主线程–这一个线程,

其程序执行路径还是只有一条,

这样就没有达到写线程的目的。

举例说明一下:

记住:线程就是为了更好地利用CPU,

提高程序运行速率的!

public class TestThread1{

public static void main(String[] args){

Runner1 r=new Runner1();

//r.run();//这是方法调用,而不是开启一个线程

Thread t=new Thread(r);//调用了Thread(Runnable target)方法。且父类对象变量指向子类对象。

t.start();

for(int i=0;i100;i++){

System.out.println(“进入Main Thread运行状态”);

System.out.println(i);

}

}

}

class Runner1 implements Runnable{ //实现了这个接口,jdk就知道这个类是一个线程

public void run(){

for(int i=0;i100;i++){

System.out.println(“进入Runner1运行状态”);

System.out.println(i);

}

}

}

关于javafx中使用task和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月4日 14:05:51
下一篇 2024年4月4日 14:14:07

相关推荐

  • 关于avrstudio6c语言的信息

    c语言的程序员们你们公司用的开发工具是什么呢? 学c语言可以用的软件推荐如下:TurboC是由美国Borland公司开发的一套C语言程序开发工具,Borland公司是一家专门从事软件开发、研制的大公司。 Code:Blocks是一个开放源码的全功能的跨平台C/C++集成开发环境。Code:Blocks是开放源码软件。Code:Blocks由纯粹的C++语言开…

    2024年5月23日
    4700
  • 关于java如何查找线程的信息

    kill-3生成的线程堆栈怎么查看 通过给JVM发送一个SIGQUIT信号,您可以得到一个线程堆。 threaddump文件就是文本文件,可以使用任何文本查看工具进行查看; 建议使用比较高效的工具,比如more, less 等。 “Full thread dump”是一个全局唯一的关键字,你可以在中间件和单机版本Java的线程堆栈信息的输出日志中找到它(比如…

    2024年5月23日
    4100
  • 关于javasocketreader的信息

    用JAVA编写一个socket通信程序。 1、java编程对于Socket之间的通信过程如下:服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容。 2、服务端初始化ServerSocket,然后对指定的端口进行绑定,接着对端口及进行监听,通过调用accept方法阻塞。 此时,如果客户端有一个socket连接到服务端,那…

    2024年5月23日
    8000
  • 关于javapitfallspdf的信息

    怎么用java动态生成pdf文档 1、首先,您需要在 Java 程序中添加 Spire.Xls.jar 文件作为依赖项。您可以从这个链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。 2、iText是着名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通…

    2024年5月23日
    4400
  • 关于pythonexcel打印设置字体的信息

    如何使用python更改excel表中的字体属性 字体,背景,边框等的颜色都可以通过三种方式设置:索引,aRGB或主题。 索引颜色是旧版实现,颜色本身取决于工作薄或应用程序默认提供的索引。主题颜色可用于互补色,但也取决于工作薄中存在的主题,因此,建议使用RGB颜色。 有着一定的参考价值,有需要的朋友可以参考一下可使用的第三方库python中处理excel表格…

    2024年5月23日
    4700
  • 关于linuxjpeg下载的信息

    请问怎么用grub2直接引导win10,本人Linux新手 第一步,当然是下载linux ubuntu1x的镜像了,这个小伙伴可以百度,去正规的网站现在,这里,我先提供一个站点:mirrors.xmu.edu.cn,厦门大学的信息与网络中心。里面有很多linux版本。有Deepin CenOS ubuntu什么什么的。 第一步:\x0d\x0a当然是下载Ub…

    2024年5月23日
    5400
  • 关于excel2013vc的信息

    如何利用VC++自动生成Excel表格 1、首先,我们需要点击文件菜单栏按钮。然后,我们点击生成EXE按钮。接下来,我们点击保存路径。然后,我们输入我们想要保存的文件名。最后,我们点击确定按钮。然后,我们便可以看到,在桌面生成了Excel表格了。 2、在主对话框中加入一个按钮 ID IDC_EXCELTEST Caption Test Excel 双击该按钮…

    2024年5月23日
    5400
  • 关于2t硬盘linux分区的信息

    linux硬盘2TB限制问题 1、Linux中进行磁盘分区一般是用fdisk这个命令,但是fdisk命令无法支持大于2TB以上的分区,而parted命令却是用于2TB以上大小的磁盘分区的工具。 2、asm无法识别2t磁盘是因为在分区的时候造成的,所以asm和linux都会有这个2T的限制。磁盘分区主要有MBR和GPT两种方式,发生2T限制的正是这个MBR方式…

    2024年5月23日
    8300
  • 关于linux下载geneontology的信息

    下载GO/KEGG某一pathway的genelist 功能(GO)或者通路(Pathway)富集分析时,都会涉及到 Background; 做分析时,分析工具会提供一些数据供使用者选择或者使用自定义的gene list。 clusterProfiler是一个功能强大的R包,同时支持GO和KEGG的富集分析,而且可视化功能非常的优秀,本章主要介绍利用这个R包…

    2024年5月23日
    5100
  • 关于linux下的mnt目录的信息

    Linux目录结构 总体而言,Linux系统的文件系统由块设备、分区、文件系统、目录结构、文件和元数据以及挂载点等组成。这种组织结构和层次关系提供了对文件和目录的有效管理和访问机制。 根目录和家目录均只是一种linux文件挂载点,linux采用树状发展目录结构根目录就是第一级,家目录与根目录看起来只是一个一级目录和二级目录的关系,实际上差别很大。 首先,打开…

    2024年5月23日
    5500

发表回复

登录后才能评论



关注微信